24 #ifndef _SRPTINDEXLOGIC_HH_
25 #define _SRPTINDEXLOGIC_HH_
103 const r_Minterval& newKeyObjectDom,
104 const r_Minterval& oldCurrDom,
105 const bool* facesToExtendLo,
106 const bool* facesToExtendHi);
146 const r_Minterval& domain,
164 const HierIndexDS* node);
175 const HierIndexDS* node);
185 static void intersect(
const r_Minterval& searchInter,
186 const r_Minterval& parentDomain,
188 const HierIndexDS* ix,
201 const r_Minterval& entryDomain,
202 const r_Minterval& parentDomain);
210 const r_Minterval& mint,
215 const r_Minterval& parentEntryDom);
221 const r_Minterval& mint,
224 const r_Minterval& parentDomain);
static void splitLeaf(HierIndexDS *n1, HierIndexDS *n2, KeyObjectVector &keyvec, r_Dimension axis, r_Range value, r_Minterval &domain, const StorageLayout &sl)
static void getObjects(const IndexDS *ixDS, KeyObjectVector &objs, const StorageLayout &sl)
std::vector< IndexDS * > IndexPVector
Definition: lists.h:87
static void redistributeEntries(IndexDS *node, KeyObjectVector &listMinKO, const StorageLayout &sl)
std::vector< KeyObject > KeyObjectVector
Definition: lists.h:79
static bool insertObject2(IndexDS *ixDS, const KeyObject &newObject, const StorageLayout &sl)
static bool removeObject(IndexDS *ixDS, const KeyObject &tileToRemove, const StorageLayout &sl)
Definition: keyobject.hh:43
static bool intersectNoDuplicates(const r_Minterval &searchInter, const r_Minterval &entryDomain, const r_Minterval &parentDomain)
static HierIndexDS * convert(const KeyObject &toConvert)
static void extendFaces(HierIndexDS *ix, const r_Minterval &newKeyObjectDom, const r_Minterval &oldCurrDom, const bool *facesToExtendLo, const bool *facesToExtendHi)
static void intersect2(const IndexDS *ixDS, const r_Minterval &searchInter, KeyObjectVector &objs, const StorageLayout &sl)
static void calculateDistribution(r_Dimension axis, r_Range value, float &dist1, float &dist2, const HierIndexDS *node)
static void containPointQuery(const r_Point &searchPoint, const HierIndexDS *ix, KeyObject &result, const StorageLayout &sl)
static void containPointQuery2(const IndexDS *ixDS, const r_Point &searchPoint, KeyObject &result, const StorageLayout &sl)
static int insertObject(const KeyObject &newObject, HierIndexDS *ix, IndexPVector &leafNodes2Split, const StorageLayout &sl)
static void intersect(const r_Minterval &searchInter, const r_Minterval &parentDomain, KeyObjectVector &intersectedObjs, const HierIndexDS *ix, r_Area &area)
static void calculatePartition(r_Dimension &axis, r_Range &value, const HierIndexDS *node)
static void splitNodes(HierIndexDS *ixDS, IndexPVector &leafNodes2Split, const StorageLayout &sl)
static void splitNonLeaf(HierIndexDS *n1, HierIndexDS *n2, KeyObjectVector &keyvec, IndexPVector &leafNodes2Split, r_Dimension axis, r_Range value, const r_Minterval &domain, const StorageLayout &sl)
static int regionSearch(const HierIndexDS *ixNode, const r_Minterval &mint, r_Area &area, KeyObjectVector &intersectedObjects, const r_Minterval &parentDomain)
Definition: sstoragelayout.hh:65
static int binaryRegionSearch(const HierIndexDS *ixNode, const r_Minterval &mint, r_Area &area, KeyObjectVector &intersectedObjects, int first, int last, const r_Minterval &parentEntryDom)
Definition: srptindexlogic.hh:55