Panda3D

- Main Page
- Packages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes

# DoCollectionManager Class Reference

List of all members.

## Public Member Functions
def | __init__
def | addDOToTables
def | callbackWithDo
def | callbackWithOwnerView
def | countObjects
def | deleteDistributedObjects
def | deleteObjectLocation
def | doByDistance
def | doFind
def | doFindAll
def | doFindAllInstances
def | doFindAllMatching
def | doFindAllOfType
def | dosByDistance
def | findAnyOfType
def | getAllOfType
def | getDo
def | getDoIdList
def | getDoList
def | getDoTable
def | getGameDoId
def | getObjectsInZone
| def changeDOZoneInTables(self, do, newParentId, newZoneId, oldParentId, oldZoneId): if 1: self.storeObjectLocation(do.doId, newParentId, newZoneId) else: #assert not hasattr(do, "isQueryAllResponse") or not do.isQueryAllResponse oldLocation = (oldParentId, oldZoneId) newLocation = (newParentId, newZoneId) # HACK: DistributedGuildMemberUD starts in -1, -1, which isnt ever put in the # zoneId2doIds table if self.isValidLocationTuple(oldLocation): assert self.notify.debugStateCall(self) assert oldLocation in self.zoneId2doIds assert do.doId in self.zoneId2doIds[oldLocation] assert do.doId not in self.zoneId2doIds.get(newLocation, {}) # remove from old zone del(self.zoneId2doIds[oldLocation][do.doId]) if len(self.zoneId2doIds[oldLocation]) == 0: del self.zoneId2doIds[oldLocation] if self.isValidLocationTuple(newLocation): # add to new zone self.zoneId2doIds.setdefault(newLocation, {}) self.zoneId2doIds[newLocation][do.doId]=do
def | getObjectsOfClassInZone
def | getOwnerView
def | getOwnerViewDoIdList
def | getOwnerViewDoList
def | handleObjectLocation
def | handleSetLocation
def | hasOwnerViewDoId
def | isInDoTables
def | isValidLocationTuple
def | printObjectCount
def | printObjects
def | removeDOFromTables
def | storeObjectLocation
def | webPrintObjectCount
## Public Attributes
| doId2do
| doId2ownerView
| self.zoneId2doIds={}

## Constructor & Destructor Documentation

def __init__ | ( |  | self | ) |

## Member Function Documentation

def addDOToTables | ( |  | self,
|  |  | do,
|  |  | location = `None`,
|  |  | ownerView = `False`
| ) |  |

def callbackWithDo | ( |  | self,
|  |  | doId,
|  |  | callback
| ) |  |

def callbackWithOwnerView | ( |  | self,
|  |  | doId,
|  |  | callback
| ) |  |

def countObjects | ( |  | self,
|  |  | classType
| ) |  |

    Counts the number of objects of the given type in the
    repository (for testing purposes)

def deleteDistributedObjects | ( |  | self | ) |

def deleteObjectLocation | ( |  | self,
|  |  | object,
|  |  | parentId,
|  |  | zoneId
| ) |  |

def doByDistance | ( |  | self | ) |

def doFind | ( |  | self,
|  |  | str
| ) |  |

    Returns list of distributed objects with matching str in value.

def doFindAll | ( |  | self,
|  |  | str
| ) |  |

    Returns list of distributed objects with matching str in value.

def doFindAllInstances | ( |  | self,
|  |  | cls
| ) |  |

def doFindAllMatching | ( |  | self,
|  |  | str
| ) |  |

    Returns list of distributed objects with matching str in value.

def doFindAllOfType | ( |  | self,
|  |  | query
| ) |  |

    Useful method for searching through the Distributed Object collection
    for objects of a particular type

def dosByDistance | ( |  | self | ) |

def findAnyOfType | ( |  | self,
|  |  | type
| ) |  |

def getAllOfType | ( |  | self,
|  |  | type
| ) |  |

def getDo | ( |  | self,
|  |  | doId
| ) |  |

def getDoIdList | ( |  | self,
|  |  | parentId,
|  |  | zoneId = `None`,
|  |  | classType = `None`
| ) |  |

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.

def getDoTable | ( |  | self,
|  |  | ownerView
| ) |  |

def getGameDoId | ( |  | self | ) |

def getObjectsInZone | ( |  | self,
|  |  | parentId,
|  |  | zoneId
| ) |  |

def changeDOZoneInTables(self, do, newParentId, newZoneId, oldParentId, oldZoneId): if 1: self.storeObjectLocation(do.doId, newParentId, newZoneId) else: #assert not hasattr(do, "isQueryAllResponse") or not do.isQueryAllResponse oldLocation = (oldParentId, oldZoneId) newLocation = (newParentId, newZoneId) # HACK: DistributedGuildMemberUD starts in -1, -1, which isnt ever put in the # zoneId2doIds table if self.isValidLocationTuple(oldLocation): assert self.notify.debugStateCall(self) assert oldLocation in self.zoneId2doIds assert do.doId in self.zoneId2doIds[oldLocation] assert do.doId not in self.zoneId2doIds.get(newLocation, {}) # remove from old zone del(self.zoneId2doIds[oldLocation][do.doId]) if len(self.zoneId2doIds[oldLocation]) == 0: del self.zoneId2doIds[oldLocation] if self.isValidLocationTuple(newLocation): # add to new zone self.zoneId2doIds.setdefault(newLocation, {}) self.zoneId2doIds[newLocation][do.doId]=do

    returns dict of doId:distObj for a zone.
    returned dict is safely mutable.

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.

def getOwnerView | ( |  | self,
|  |  | doId
| ) |  |

def getOwnerViewDoIdList | ( |  | self,
|  |  | classType
| ) |  |

def getOwnerViewDoList | ( |  | self,
|  |  | classType
| ) |  |

def handleObjectLocation | ( |  | self,
|  |  | di
| ) |  |

def handleSetLocation | ( |  | self,
|  |  | di
| ) |  |

def hasOwnerViewDoId | ( |  | self,
|  |  | doId
| ) |  |

def isInDoTables | ( |  | self,
|  |  | doId
| ) |  |

def isValidLocationTuple | ( |  | self,
|  |  | location
| ) |  |

def printObjectCount | ( |  | self | ) |

def printObjects | ( |  | self | ) |

def removeDOFromTables | ( |  | self,
|  |  | do
| ) |  |

def storeObjectLocation | ( |  | self,
|  |  | object,
|  |  | parentId,
|  |  | zoneId
| ) |  |

def webPrintObjectCount | ( |  | self | ) |

## Member Data Documentation

doId2do

doId2ownerView

self.zoneId2doIds={}

All Classes Namespaces Functions Variables Enumerations Enumerator Properties