# 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.