Sirikata
|
#include <SegmentedRegion.hpp>
Public Types | |
enum | SplitAxis { X, Y, Z, UNDEFINED } |
Public Member Functions | |
SegmentedRegion (SegmentedRegion *parent) | |
void | destroy () |
SegmentedRegion * | getRandomLeaf () |
SegmentedRegion * | getSibling (SegmentedRegion *region) |
SegmentedRegion * | getParent (SegmentedRegion *region) |
int | countServers () const |
int | countNodes () const |
SegmentedRegion * | lookupSegmentedRegion (const ServerID &server_id) |
SegmentedRegion * | lookup (const Vector3f &pos) const |
void | lookupBoundingBox (const BoundingBox3f &bbox, std::vector< SegmentedRegion * > &intersectingLeaves) |
void | serverRegion (const ServerID &server, BoundingBoxList &boundingBoxList) const |
Public Attributes | |
ServerID | mServer |
SegmentedRegion * | mLeftChild |
SegmentedRegion * | mRightChild |
SegmentedRegion * | mParent |
SplitAxis | mSplitAxis |
uint32 | mLeafCount |
BoundingBox3f | mBoundingBox |
uint32 | mLoadValue |
Sirikata::SegmentedRegion::SegmentedRegion | ( | SegmentedRegion * | parent | ) | [inline] |
References mLeafCount, mLeftChild, mLoadValue, mParent, mRightChild, mServer, mSplitAxis, and UNDEFINED.
int Sirikata::SegmentedRegion::countNodes | ( | ) | const [inline] |
References countNodes(), mLeftChild, and mRightChild.
Referenced by countNodes().
int Sirikata::SegmentedRegion::countServers | ( | ) | const [inline] |
References countServers(), mLeftChild, and mRightChild.
Referenced by countServers().
void Sirikata::SegmentedRegion::destroy | ( | ) | [inline] |
References destroy(), mLeftChild, and mRightChild.
Referenced by Sirikata::CoordinateSegmentationClient::accept_handler(), destroy(), and Sirikata::DistributedCoordinateSegmentation::~DistributedCoordinateSegmentation().
SegmentedRegion* Sirikata::SegmentedRegion::getParent | ( | SegmentedRegion * | region | ) | [inline] |
References getParent(), mLeftChild, and mRightChild.
Referenced by getParent(), and Sirikata::DistributedCoordinateSegmentation::getRandomLeafParentSibling().
SegmentedRegion* Sirikata::SegmentedRegion::getRandomLeaf | ( | ) | [inline] |
References getRandomLeaf(), mLeftChild, and mRightChild.
Referenced by getRandomLeaf(), and Sirikata::DistributedCoordinateSegmentation::getRandomLeafParentSibling().
SegmentedRegion* Sirikata::SegmentedRegion::getSibling | ( | SegmentedRegion * | region | ) | [inline] |
References getSibling(), mLeftChild, and mRightChild.
Referenced by Sirikata::DistributedCoordinateSegmentation::getRandomLeafParentSibling(), and getSibling().
SegmentedRegion* Sirikata::SegmentedRegion::lookup | ( | const Vector3f & | pos | ) | const [inline] |
void Sirikata::SegmentedRegion::lookupBoundingBox | ( | const BoundingBox3f & | bbox, |
std::vector< SegmentedRegion * > & | intersectingLeaves | ||
) | [inline] |
References lookupBoundingBox(), mBoundingBox, mLeftChild, and mRightChild.
Referenced by Sirikata::DistributedCoordinateSegmentation::handleLookupBBox(), and lookupBoundingBox().
SegmentedRegion* Sirikata::SegmentedRegion::lookupSegmentedRegion | ( | const ServerID & | server_id | ) | [inline] |
References lookupSegmentedRegion(), mLeftChild, mRightChild, and mServer.
Referenced by lookupSegmentedRegion().
void Sirikata::SegmentedRegion::serverRegion | ( | const ServerID & | server, |
BoundingBoxList & | boundingBoxList | ||
) | const [inline] |
References mBoundingBox, mLeftChild, mRightChild, mServer, and serverRegion().
Referenced by serverRegion().
BoundingBox3f Sirikata::SegmentedRegion::mBoundingBox |
Referenced by Sirikata::DistributedCoordinateSegmentation::asyncLLRead(), Sirikata::WorldPopulationBSPTree::constructBSPTree(), Sirikata::CoordinateSegmentationClient::CoordinateSegmentationClient(), Sirikata::SerializedBSPTree::deserializeBSPTree(), Sirikata::DistributedCoordinateSegmentation::DistributedCoordinateSegmentation(), Sirikata::DistributedCoordinateSegmentation::generateHierarchicalTrees(), Sirikata::DistributedCoordinateSegmentation::handleLoadReport(), Sirikata::DistributedCoordinateSegmentation::handleLookup(), Sirikata::DistributedCoordinateSegmentation::handleLookupBBox(), lookup(), lookupBoundingBox(), Sirikata::CoordinateSegmentationClient::region(), Sirikata::DistributedCoordinateSegmentation::region(), serverRegion(), Sirikata::LoadBalancer::service(), Sirikata::DistributedCoordinateSegmentation::subdivideTopLevelRegion(), and Sirikata::DistributedCoordinateSegmentation::traverseAndStoreTree().
Referenced by Sirikata::WorldPopulationBSPTree::constructBSPTree(), countNodes(), countServers(), Sirikata::SerializedBSPTree::deserializeBSPTree(), destroy(), Sirikata::DistributedCoordinateSegmentation::generateHierarchicalTrees(), getParent(), getRandomLeaf(), getSibling(), lookup(), lookupBoundingBox(), lookupSegmentedRegion(), SegmentedRegion(), serverRegion(), Sirikata::LoadBalancer::service(), Sirikata::DistributedCoordinateSegmentation::subdivideTopLevelRegion(), and Sirikata::DistributedCoordinateSegmentation::traverseAndStoreTree().
Referenced by Sirikata::WorldPopulationBSPTree::constructBSPTree(), countNodes(), countServers(), Sirikata::SerializedBSPTree::deserializeBSPTree(), destroy(), Sirikata::DistributedCoordinateSegmentation::generateHierarchicalTrees(), getParent(), getRandomLeaf(), getSibling(), lookup(), lookupBoundingBox(), lookupSegmentedRegion(), SegmentedRegion(), serverRegion(), Sirikata::LoadBalancer::service(), Sirikata::DistributedCoordinateSegmentation::subdivideTopLevelRegion(), and Sirikata::DistributedCoordinateSegmentation::traverseAndStoreTree().
ServerID Sirikata::SegmentedRegion::mServer |
Referenced by Sirikata::DistributedCoordinateSegmentation::asyncLLRead(), Sirikata::WorldPopulationBSPTree::constructBSPTree(), Sirikata::SerializedBSPTree::deserializeBSPTree(), Sirikata::DistributedCoordinateSegmentation::generateHierarchicalTrees(), Sirikata::DistributedCoordinateSegmentation::handleLoadReport(), Sirikata::DistributedCoordinateSegmentation::handleLookup(), Sirikata::DistributedCoordinateSegmentation::handleLookupBBox(), lookupSegmentedRegion(), SegmentedRegion(), serverRegion(), Sirikata::LoadBalancer::service(), Sirikata::DistributedCoordinateSegmentation::subdivideTopLevelRegion(), and Sirikata::DistributedCoordinateSegmentation::traverseAndStoreTree().