#include <amr3t.h>
Public Member Functions | |
PFS3Rtree (int Nmin, int Nmax) | |
virtual | ~PFS3Rtree () |
void | Insert (PFS3BoxId *newentry) |
int | Remove (PFS3BoxId *newentry) |
void | Print () |
void | Create () |
void | Delete () |
int | Number () |
void | BBox (PFS3Box *B) |
void | Search (PFS3Box *B) |
int | Result (PFS3BoxId *B) |
void | SearchAll () |
int | ResultAll (PFS3BoxId *B) |
Protected Member Functions | |
int | Remove (PFS3NodeBoxId *Node, PFS3BoxId *In, int Lev) |
void | Delete (PFS3NodeBoxId *Node, int Lev) |
void | Number (PFS3NodeBoxId *Node, int *num, int Lev) |
void | MergeRoot () |
void | Merge (PFS3NodeBoxId *Father, PFS3NodeBoxId *Node, short Posit) |
int | Insert (PFS3NodeBoxId *Node, PFS3BoxId *In, PFS3BoxId *Out, int Lev) |
void | SplitNodeR3tree (PFS3NodeBoxId *Node, PFS3BoxId *Out) |
void | Print (PFS3NodeBoxId *Node, int ident, int *num, int Lev) |
Protected Attributes | |
int | Max |
int | Min |
int | Level |
PFS3NodeBoxId * | Root |
PFS3NodeBoxId * | Vnode [RT3_MAX_NUM_NODES] |
int | Vpos [RT3_MAX_NUM_NODES] |
int | NumL |
PFS3Box | SearchVal |
Definition at line 82 of file amr3t.h.
PFS3Rtree::PFS3Rtree | ( | int | Nmin, | |
int | Nmax | |||
) |
int PFS3Rtree::Remove | ( | PFS3NodeBoxId * | Node, | |
PFS3BoxId * | In, | |||
int | Lev | |||
) | [protected] |
Definition at line 315 of file amr3t.cpp.
References PFS3Box::Disjoint(), PFS3NodeBoxId::GetPos(), PFS3NodeBoxId::LocateBoxId(), PFS3NodeBoxId::MakeBoxId(), Merge(), Min, PFS3NodeBoxId::Number(), PFS3BoxId::P, PFS3NodeBoxId::PutPos(), and PFS3NodeBoxId::Remove().
Referenced by PFSRtreeDelete(), and Remove().
void PFS3Rtree::Delete | ( | PFS3NodeBoxId * | Node, | |
int | Lev | |||
) | [protected] |
Definition at line 448 of file amr3t.cpp.
References Delete(), PFS3NodeBoxId::Number(), PFS3BoxId::P, and PFS3NodeBoxId::Remove().
Referenced by PFSRtreeDestroy().
void PFS3Rtree::Number | ( | PFS3NodeBoxId * | Node, | |
int * | num, | |||
int | Lev | |||
) | [protected] |
Definition at line 469 of file amr3t.cpp.
References Number(), PFS3NodeBoxId::Number(), PFS3BoxId::P, and PFS3NodeBoxId::Remove().
void PFS3Rtree::MergeRoot | ( | ) | [protected] |
Definition at line 292 of file amr3t.cpp.
References PFS3NodeBoxId::GetPos(), PFS3BoxId::P, and Root.
Referenced by Remove().
void PFS3Rtree::Merge | ( | PFS3NodeBoxId * | Father, | |
PFS3NodeBoxId * | Node, | |||
short | Posit | |||
) | [protected] |
Definition at line 396 of file amr3t.cpp.
References PFS3NodeBoxId::Append(), PFS3NodeBoxId::GetPos(), PFS3NodeBoxId::MakeBoxId(), Max, Min, PFS3NodeBoxId::Number(), PFS3BoxId::P, PFS3NodeBoxId::PutPos(), and PFS3NodeBoxId::Remove().
Referenced by Remove().
int PFS3Rtree::Insert | ( | PFS3NodeBoxId * | Node, | |
PFS3BoxId * | In, | |||
PFS3BoxId * | Out, | |||
int | Lev | |||
) | [protected] |
Definition at line 368 of file amr3t.cpp.
References PFS3NodeBoxId::Append(), PFS3NodeBoxId::ChooseBoxId(), PFS3NodeBoxId::MakeBoxId(), Max, PFS3NodeBoxId::Number(), PFS3BoxId::P, PFS3NodeBoxId::PutPos(), and SplitNodeR3tree().
Referenced by Insert(), and PFSRtreeInsert().
void PFS3Rtree::SplitNodeR3tree | ( | PFS3NodeBoxId * | Node, | |
PFS3BoxId * | Out | |||
) | [protected] |
Definition at line 360 of file amr3t.cpp.
References PFS3NodeBoxId::MakeBoxId(), Max, Min, and PFS3NodeBoxId::SplitNodeR3tree().
Referenced by Insert().
void PFS3Rtree::Print | ( | PFS3NodeBoxId * | Node, | |
int | ident, | |||
int * | num, | |||
int | Lev | |||
) | [protected] |
Definition at line 491 of file amr3t.cpp.
References PFS3NodeBoxId::BBox(), PFS3Box::Dup(), PFS3Box::Equal(), PFS3NodeBoxId::GetPos(), Max, PFS3NodeBoxId::Number(), PFS3BoxId::P, and Print().
void PFS3Rtree::Insert | ( | PFS3BoxId * | newentry | ) |
Definition at line 345 of file amr3t.cpp.
References PFS3NodeBoxId::Append(), Insert(), Level, PFS3NodeBoxId::MakeBoxId(), Max, Min, and Root.
int PFS3Rtree::Remove | ( | PFS3BoxId * | newentry | ) |
Definition at line 305 of file amr3t.cpp.
References Level, MergeRoot(), PFS3NodeBoxId::Number(), Remove(), and Root.
void PFS3Rtree::Print | ( | ) |
void PFS3Rtree::Create | ( | ) |
void PFS3Rtree::Delete | ( | ) |
int PFS3Rtree::Number | ( | ) |
void PFS3Rtree::BBox | ( | PFS3Box * | B | ) |
Definition at line 300 of file amr3t.cpp.
References PFS3NodeBoxId::BBox(), and Root.
void PFS3Rtree::Search | ( | PFS3Box * | B | ) |
int PFS3Rtree::Result | ( | PFS3BoxId * | B | ) |
Definition at line 535 of file amr3t.cpp.
References PFS3Box::Disjoint(), PFS3NodeBoxId::GetPos(), Level, Number(), PFS3NodeBoxId::Number(), NumL, PFS3BoxId::P, SearchVal, Vnode, and Vpos.
Referenced by PFSRtreeSearchBox().
void PFS3Rtree::SearchAll | ( | ) |
int PFS3Rtree::ResultAll | ( | PFS3BoxId * | B | ) |
Definition at line 569 of file amr3t.cpp.
References PFS3NodeBoxId::GetPos(), Level, Number(), NumL, PFS3BoxId::P, Vnode, and Vpos.
Referenced by PFSRtreeTraverse().
int PFS3Rtree::Max [protected] |
Definition at line 85 of file amr3t.h.
Referenced by Create(), Insert(), Merge(), PFS3Rtree(), Print(), and SplitNodeR3tree().
int PFS3Rtree::Min [protected] |
Definition at line 86 of file amr3t.h.
Referenced by Create(), Insert(), Merge(), PFS3Rtree(), Remove(), and SplitNodeR3tree().
int PFS3Rtree::Level [protected] |
PFS3NodeBoxId* PFS3Rtree::Root [protected] |
PFS3NodeBoxId* PFS3Rtree::Vnode[RT3_MAX_NUM_NODES] [protected] |
Definition at line 94 of file amr3t.h.
Referenced by Result(), ResultAll(), Search(), and SearchAll().
int PFS3Rtree::Vpos[RT3_MAX_NUM_NODES] [protected] |
Definition at line 95 of file amr3t.h.
Referenced by Result(), ResultAll(), Search(), and SearchAll().
int PFS3Rtree::NumL [protected] |
Definition at line 96 of file amr3t.h.
Referenced by Result(), ResultAll(), Search(), and SearchAll().
PFS3Box PFS3Rtree::SearchVal [protected] |