TTK
|
Implementation of the point region (PR) octree. More...
#include <Octree.h>
Public Member Functions | |
Octree (const ttk::AbstractTriangulation *t) | |
Octree (const ttk::AbstractTriangulation *t, const int k) | |
~Octree () override | |
void | initialize (const ttk::AbstractTriangulation *t, const int k) |
bool | empty () |
size_t | getNodeTreeDepth (const OctreeNode *node) |
OctreeNode * | getParentNode (OctreeNode *node) |
void | visitAll (const OctreeNode *node) |
int | verifyTree (ttk::SimplexId &vertexNum) |
int | insertVertex (ttk::SimplexId &vertexId) |
int | insertCell (ttk::SimplexId &cellId) |
void | reindex (std::vector< ttk::SimplexId > &vertices, std::vector< ttk::SimplexId > &nodes, std::vector< ttk::SimplexId > &cells) |
Public Member Functions inherited from ttk::Debug | |
Debug () | |
~Debug () override | |
virtual int | setDebugLevel (const int &debugLevel) |
int | setWrapper (const Wrapper *wrapper) override |
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
void | setDebugMsgPrefix (const std::string &prefix) |
Public Member Functions inherited from ttk::BaseClass | |
BaseClass () | |
virtual | ~BaseClass ()=default |
int | getThreadNumber () const |
virtual int | setThreadNumber (const int threadNumber) |
Additional Inherited Members | |
Protected Member Functions inherited from ttk::Debug | |
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
int | welcomeMsg (std::ostream &stream) |
Protected Attributes inherited from ttk::Debug | |
int | debugLevel_ |
std::string | debugMsgPrefix_ |
std::string | debugMsgNamePrefix_ |
Protected Attributes inherited from ttk::BaseClass | |
bool | lastObject_ |
int | threadNumber_ |
Wrapper * | wrapper_ |
Static Protected Attributes inherited from ttk::Debug | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
Implementation of the point region (PR) octree.
Related publications
"The PR-star octree: A spatio-topological data structure for tetrahedral
meshes." Kenneth Weiss, Leila Floriani, Riccardo Fellegara, and Marcelo Velloso In Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, 2011.
Online examples:
Octree::Octree | ( | const ttk::AbstractTriangulation * | t | ) |
Definition at line 6 of file Octree.cpp.
Octree::Octree | ( | const ttk::AbstractTriangulation * | t, |
const int | k | ||
) |
Definition at line 10 of file Octree.cpp.
|
overridedefault |
bool Octree::empty | ( | ) |
Return true if the octree is empty, otherwise false.
Definition at line 48 of file Octree.cpp.
size_t Octree::getNodeTreeDepth | ( | const OctreeNode * | node | ) |
Get the depth of the node in the octree.
Definition at line 60 of file Octree.cpp.
OctreeNode * Octree::getParentNode | ( | OctreeNode * | node | ) |
Get the parent node of the current node.
Definition at line 71 of file Octree.cpp.
void Octree::initialize | ( | const ttk::AbstractTriangulation * | t, |
const int | k | ||
) |
Definition at line 17 of file Octree.cpp.
int Octree::insertCell | ( | ttk::SimplexId & | cellId | ) |
Insert the cell into the octree by its id. Note: This function can only be called after inserting all vertices!
Definition at line 158 of file Octree.cpp.
int Octree::insertVertex | ( | ttk::SimplexId & | vertexId | ) |
Insert the vertex into the octree by its id.
Definition at line 123 of file Octree.cpp.
void Octree::reindex | ( | std::vector< ttk::SimplexId > & | vertices, |
std::vector< ttk::SimplexId > & | nodes, | ||
std::vector< ttk::SimplexId > & | cells | ||
) |
Get reindexed vertices and cells.
Definition at line 197 of file Octree.cpp.
int Octree::verifyTree | ( | ttk::SimplexId & | vertexNum | ) |
Get the total number of vertices in the tree.
Definition at line 96 of file Octree.cpp.
void Octree::visitAll | ( | const OctreeNode * | node | ) |
Traverse the octree from a given node.
Definition at line 80 of file Octree.cpp.