Panda3D
Public Member Functions | Public Attributes | Static Public Attributes

DistributedSmoothNodeAI Class Reference

Inheritance diagram for DistributedSmoothNodeAI:
DistributedNodeAI DistributedSmoothNodeBase DistributedObjectAI

List of all members.

Public Member Functions

def __init__
def addInterest
def announceGenerate
def b_clearSmoothing
def b_setLocation
def b_setParent
 setParent ###
def b_setPosHpr
def b_setXYZH
def beginBarrier
def clearSmoothing
def d_clearSmoothing
def d_setH
def d_setHpr
def d_setLocation
def d_setP
def d_setParent
def d_setPos
def d_setPosHpr
def d_setR
def d_setX
 set pos and hpr functions #######
def d_setXY
def d_setXYH
def d_setXYZH
def d_setY
def d_setZ
def delete
def deleteOrDelay
def disable
def do_setParent
def execCommand
def generate
def generateInit
def generateOtpObject
def generateTargetChannel
def generateWithRequired
def generateWithRequiredAndId
def GetAccountConnectionChannel
def GetAccountIDFromChannelCode
def GetAvatarIDFromChannelCode
def getBarrierData
def getCacheable
def getCollTrav
def getComponentH
def getComponentL
def getComponentP
def getComponentR
def getComponentT
def getComponentX
def getComponentY
def getComponentZ
def getDelayDeleteCount
def getDeleteEvent
def getDoId
def getLocation
def getLogicalZoneChangeEvent
def getNonCollidableParent
def getParentMgr
def getPosHprBroadcastPeriod
def getPosHprBroadcastTaskName
 posHprBroadcast ###
def GetPuppetConnectionChannel
def getRender
def getXYZH
def getZoneChangeEvent
def getZoneData
def handleLogicalZoneChange
def ignoreBarrier
def initFromServerResponse
def isDeleted
def isGenerated
def isGridParent
def posHprBroadcastStarted
def postGenerateMessage
def preAllocateDoId
def releaseZoneData
def requestDelete
def sendCurrentPosition
def sendDeleteEvent
def sendGenerateWithRequired
def sendMessageBundle
def sendSetZone
def sendUpdate
def sendUpdateToAccountId
def sendUpdateToAvatarId
def sendUpdateToChannel
def setBarrierReady
def setComponentH
def setComponentL
def setComponentP
def setComponentR
def setComponentT
def setComponentX
def setComponentY
def setComponentZ
def setLocation
def setLocation
def setParent
def setParentStr
def setPosHprBroadcastPeriod
def setSmH
def setSmHpr
def setSmPos
def setSmPosHpr
def setSmPosHprL
def setSmStop
def setSmXY
def setSmXYH
def setSmXYZH
def setSmXZ
def setSmZ
def setXY
def setXYH
def setXYZH
def startMessageBundle
def startPosHprBroadcast
def staticGetLogicalZoneChangeEvent
def staticGetZoneChangeEvent
def status
def stopPosHprBroadcast
def taskName
def uniqueName
def updateAllRequiredFields
def updateAllRequiredOtherFields
def updateRequiredFields
def updateRequiredOtherFields
def validate
def wantSmoothPosBroadcastTask

Public Attributes

 accountName
 air
 Asad: As per Roger's suggestion, turn off the following block until a solution is thought out of how to prevent this delete message or to handle this message better TODO: do we still need this check?
 broadcastType
 cnode
 d_broadcastPosHpr
 dclass
 DistributedNodeAI_initialized
 DistributedObjectAI_initialized
 doId
 gridParent
 lastNonQuietZone
 parentId
 zoneId

Static Public Attributes

tuple BroadcastTypes = Enum('FULL, XYH, XY')
tuple notify = directNotify.newCategory("DistributedObjectAI")
int QuietZone = 1

Constructor & Destructor Documentation

def __init__ (   self,
  air,
  name = None 
)

Reimplemented from DistributedNodeAI.


Member Function Documentation

def addInterest (   self,
  zoneId,
  note = "",
  event = None 
) [inherited]
def announceGenerate (   self) [inherited]
Called after the object has been generated and all
of its required fields filled in. Overwrite when needed.
def b_clearSmoothing (   self) [inherited]
def b_setLocation (   self,
  parentId,
  zoneId 
) [inherited]
def b_setParent (   self,
  parentToken 
) [inherited]

setParent ###

def b_setPosHpr (   self,
  x,
  y,
  z,
  h,
  p,
  r 
) [inherited]
def b_setXYZH (   self,
  x,
  y,
  z,
  h 
) [inherited]
def beginBarrier (   self,
  name,
  avIds,
  timeout,
  callback 
) [inherited]
def clearSmoothing (   self,
  bogus = None 
)
def d_clearSmoothing (   self) [inherited]
def d_setH (   self,
  h 
) [inherited]
def d_setHpr (   self,
  h,
  p,
  r 
) [inherited]
def d_setLocation (   self,
  parentId,
  zoneId 
) [inherited]
def d_setP (   self,
  p 
) [inherited]
def d_setParent (   self,
  parentToken 
) [inherited]
def d_setPos (   self,
  x,
  y,
  z 
) [inherited]
def d_setPosHpr (   self,
  x,
  y,
  z,
  h,
  p,
  r 
) [inherited]
def d_setR (   self,
  r 
) [inherited]
def d_setX (   self,
  x 
) [inherited]

set pos and hpr functions #######

def d_setXY (   self,
  x,
  y 
) [inherited]
def d_setXYH (   self,
  x,
  y,
  h 
) [inherited]
def d_setXYZH (   self,
  x,
  y,
  z,
  h 
) [inherited]
def d_setY (   self,
  y 
) [inherited]
def d_setZ (   self,
  z 
) [inherited]
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.

Reimplemented from DistributedNodeAI.

def deleteOrDelay (   self) [inherited]
This method exists only to mirror the similar method on
DistributedObject.  AI objects don't have delayDelete, they
just get deleted immediately. 
def disable (   self)

Reimplemented from DistributedSmoothNodeBase.

def do_setParent (   self,
  parentToken 
) [inherited]
def execCommand (   self,
  string,
  mwMgrId,
  avId,
  zoneId 
) [inherited]
def generate (   self)

Reimplemented from DistributedSmoothNodeBase.

def generateInit (   self,
  repository = None 
) [inherited]
First generate (not from cache).
def generateOtpObject (   self,
  parentId,
  zoneId,
  optionalFields = [],
  doId = None 
) [inherited]
def generateTargetChannel (   self,
  repository 
) [inherited]
Who to send this to for generate messages
def generateWithRequired (   self,
  zoneId,
  optionalFields = [] 
) [inherited]
def generateWithRequiredAndId (   self,
  doId,
  parentId,
  zoneId,
  optionalFields = [] 
) [inherited]
def GetAccountConnectionChannel (   self,
  doId 
) [inherited]
def GetAccountIDFromChannelCode (   self,
  channel 
) [inherited]
def GetAvatarIDFromChannelCode (   self,
  channel 
) [inherited]
def getBarrierData (   self) [inherited]
def getCacheable (   self) [inherited]
This method exists only to mirror the similar method on
DistributedObject.  AI objects aren't cacheable. 
def getCollTrav (   self,
  args,
  kArgs 
) [inherited]
def getComponentH (   self)
def getComponentL (   self)
def getComponentP (   self)
def getComponentR (   self)
def getComponentT (   self)
def getComponentX (   self)
def getComponentY (   self)
def getComponentZ (   self)
def getDelayDeleteCount (   self) [inherited]
def getDeleteEvent (   self) [inherited]
def getDoId (   self) [inherited]
Return the distributed object id
def getLocation (   self) [inherited]
def getLogicalZoneChangeEvent (   self) [inherited]
def getNonCollidableParent (   self) [inherited]
def getParentMgr (   self) [inherited]
def getPosHprBroadcastPeriod (   self) [inherited]
def getPosHprBroadcastTaskName (   self) [inherited]

posHprBroadcast ###

def GetPuppetConnectionChannel (   self,
  doId 
) [inherited]
def getRender (   self) [inherited]
def getXYZH (   self) [inherited]
def getZoneChangeEvent (   self) [inherited]
def getZoneData (   self) [inherited]
def handleLogicalZoneChange (   self,
  newZoneId,
  oldZoneId 
) [inherited]
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.
def ignoreBarrier (   self,
  context 
) [inherited]
def initFromServerResponse (   self,
  valDict 
) [inherited]
def isDeleted (   self) [inherited]
Returns true if the object has been deleted,
or if it is brand new and hasnt yet been generated.
def isGenerated (   self) [inherited]
Returns true if the object has been generated
def isGridParent (   self) [inherited]
def posHprBroadcastStarted (   self) [inherited]
def postGenerateMessage (   self) [inherited]
def preAllocateDoId (   self) [inherited]
objects that need to have a doId before they are generated
can call this to pre-allocate a doId for the object
def releaseZoneData (   self) [inherited]
def requestDelete (   self) [inherited]
def sendCurrentPosition (   self) [inherited]
def sendDeleteEvent (   self) [inherited]
def sendGenerateWithRequired (   self,
  repository,
  parentId,
  zoneId,
  optionalFields = [] 
) [inherited]
def sendMessageBundle (   self) [inherited]
def sendSetZone (   self,
  zoneId 
) [inherited]
def sendUpdate (   self,
  fieldName,
  args = [] 
) [inherited]
def sendUpdateToAccountId (   self,
  accountId,
  fieldName,
  args 
) [inherited]
def sendUpdateToAvatarId (   self,
  avId,
  fieldName,
  args 
) [inherited]
def sendUpdateToChannel (   self,
  channelId,
  fieldName,
  args 
) [inherited]
def setBarrierReady (   self,
  context 
) [inherited]
def setComponentH (   self,
  h 
)
def setComponentL (   self,
  l 
)
def setComponentP (   self,
  p 
)
def setComponentR (   self,
  r 
)
def setComponentT (   self,
  t 
)
def setComponentX (   self,
  x 
)
def setComponentY (   self,
  y 
)
def setComponentZ (   self,
  z 
)
def setLocation (   self,
  parentId,
  zoneId,
  teleport = 0 
) [inherited]
def setLocation (   self,
  parentId,
  zoneId 
) [inherited]
def setParent (   self,
  parentToken 
) [inherited]
def setParentStr (   self,
  parentToken 
) [inherited]
def setPosHprBroadcastPeriod (   self,
  period 
) [inherited]
def setSmH (   self,
  h,
  t = None 
)
def setSmHpr (   self,
  h,
  p,
  r,
  t = None 
)
def setSmPos (   self,
  x,
  y,
  z,
  t = None 
)
def setSmPosHpr (   self,
  x,
  y,
  z,
  h,
  p,
  r,
  t = None 
)
def setSmPosHprL (   self,
  l,
  x,
  y,
  z,
  h,
  p,
  r,
  t = None 
)
def setSmStop (   self,
  t = None 
)
def setSmXY (   self,
  x,
  y,
  t = None 
)
def setSmXYH (   self,
  x,
  y,
  h,
  t = None 
)
def setSmXYZH (   self,
  x,
  y,
  z,
  h,
  t = None 
)
def setSmXZ (   self,
  x,
  z,
  t = None 
)
def setSmZ (   self,
  z,
  t = None 
)
def setXY (   self,
  x,
  y 
) [inherited]
def setXYH (   self,
  x,
  y,
  h 
) [inherited]
def setXYZH (   self,
  x,
  y,
  z,
  h 
) [inherited]
def startMessageBundle (   self,
  name 
) [inherited]
def startPosHprBroadcast (   self,
  period = .2,
  stagger = 0,
  type = None 
) [inherited]
def staticGetLogicalZoneChangeEvent (   doId) [inherited]
def staticGetZoneChangeEvent (   doId) [inherited]
def status (   self,
  indent = 0 
) [inherited]
print out doId(parentId, zoneId) className
    and conditionally show generated, disabled, neverDisable,
    or cachable
def stopPosHprBroadcast (   self) [inherited]
def taskName (   self,
  taskString 
) [inherited]
def uniqueName (   self,
  idString 
) [inherited]
def updateAllRequiredFields (   self,
  dclass,
  di 
) [inherited]
def updateAllRequiredOtherFields (   self,
  dclass,
  di 
) [inherited]
def updateRequiredFields (   self,
  dclass,
  di 
) [inherited]
def updateRequiredOtherFields (   self,
  dclass,
  di 
) [inherited]
def validate (   self,
  avId,
  bool,
  msg 
) [inherited]
def wantSmoothPosBroadcastTask (   self) [inherited]

Member Data Documentation

accountName [inherited]
air [inherited]

Asad: As per Roger's suggestion, turn off the following block until a solution is thought out of how to prevent this delete message or to handle this message better TODO: do we still need this check?

broadcastType [inherited]
tuple BroadcastTypes = Enum('FULL, XYH, XY') [static, inherited]
cnode [inherited]
d_broadcastPosHpr [inherited]
dclass [inherited]
doId [inherited]
gridParent [inherited]
lastNonQuietZone [inherited]
tuple notify = directNotify.newCategory("DistributedObjectAI") [static, inherited]

Reimplemented in TimeManagerAI.

parentId [inherited]
int QuietZone = 1 [static, inherited]
zoneId [inherited]
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties