Panda3D
Loading...
Searching...
No Matches
BufferedDistancePhasedNode Class Reference
Inheritance diagram for BufferedDistancePhasedNode:
DistancePhasedNode PhasedObject DirectObject

Public Member Functions

 __init__ (self, name, bufferParamMap={}, autoCleanup=True, enterPrefix='enter', exitPrefix='exit', phaseCollideMask=BitMask32.allOn(), fromCollideNode=None)
 
 __repr__ (self)
 
 __str__ (self)
 
 setPhase (self, aPhase)
 
- Public Member Functions inherited from DistancePhasedNode
 __init__ (self, name, phaseParamMap={}, autoCleanup=True, enterPrefix='enter', exitPrefix='exit', phaseCollideMask=BitMask32.allOn(), fromCollideNode=None)
 
 __del__ (self)
 
 __repr__ (self)
 
 __str__ (self)
 
 cleanup (self)
 
 reset (self)
 
 setPhaseCollideMask (self, mask)
 
- Public Member Functions inherited from PhasedObject
 __init__ (self, aliasMap={})
 
 __repr__ (self)
 
 __str__ (self)
 
 getAliasPhase (self, alias)
 
 getPhase (self)
 
 getPhaseAlias (self, phase)
 
 setAlias (self, phase, alias)
 
- Public Member Functions inherited from DirectObject
 __init__ (self)
 
 accept (self, event, method, extraArgs=[])
 
 acceptOnce (self, event, method, extraArgs=[])
 
 addTask (self, *args, **kwargs)
 
 detectLeaks (self)
 
 doMethodLater (self, *args, **kwargs)
 
 getAllAccepting (self)
 
 ignore (self, event)
 
 ignoreAll (self)
 
 isAccepting (self, event)
 
 isIgnoring (self, event)
 
 removeAllTasks (self)
 
 removeTask (self, taskOrName)
 

Public Attributes

 bufferParamList
 
 bufferParamMap = bufferParamMap
 
- Public Attributes inherited from DistancePhasedNode
 autoCleanup = autoCleanup
 
 cTrav = base.cTrav
 
 enterPrefix = enterPrefix
 
 exitPrefix = exitPrefix
 
 fromCollideNode = fromCollideNode
 
 phaseCollideMask = phaseCollideMask
 
 phaseParamList
 
 phaseParamMap = phaseParamMap
 
- Public Attributes inherited from PhasedObject
dict aliasPhaseMap = {}
 
int phase = -1
 
dict phaseAliasMap = {}
 

Additional Inherited Members

- Static Public Attributes inherited from PhasedObject
 notify = directNotify.newCategory("PhasedObject")
 
- Static Public Attributes inherited from DirectObject
 accept_once = acceptOnce
 
 add_task = addTask
 
 detect_leaks = detectLeaks
 
 do_method_later = doMethodLater
 
 get_all_accepting = getAllAccepting
 
 ignore_all = ignoreAll
 
 is_accepting = isAccepting
 
 is_ignoring = isIgnoring
 
 remove_all_tasks = removeAllTasks
 
 remove_task = removeTask
 
- Protected Member Functions inherited from DirectObject
 _addTask (self, task)
 
 _clearTask (self, task)
 
- Protected Attributes inherited from DistancePhasedNode
list _colSpheres = []
 
- Protected Attributes inherited from DirectObject
dict _taskList = {}
 

Detailed Description

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 :meth:`__init__()`.  It has this format::

    bufferParamMap = {'alias':(distance, bufferAmount), ...}

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
name,
bufferParamMap = {},
autoCleanup = True,
enterPrefix = 'enter',
exitPrefix = 'exit',
phaseCollideMask = BitMask32.allOn(),
fromCollideNode = None )

Member Function Documentation

◆ __repr__()

__repr__ ( self)

◆ __str__()

__str__ ( self)

◆ setPhase()

setPhase ( self,
aPhase )
see DistancePhasedNode.setPhase()

Reimplemented from DistancePhasedNode.

Member Data Documentation

◆ bufferParamList

bufferParamList
Initial value:
= sorted(list(bufferParamMap.items()),
key = lambda x: x[1],
reverse = True)

◆ bufferParamMap

bufferParamMap = bufferParamMap