TTK
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Octree Class Reference

Implementation of the point region (PR) octree. More...

#include <Octree.h>

Inheritance diagram for Octree:
ttk::Debug ttk::BaseClass

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)
 
OctreeNodegetParentNode (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)
 
virtual int setWrapper (const Wrapper *wrapper)
 

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_
 
Wrapperwrapper_
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

Implementation of the point region (PR) octree.

Author
Guoxi Liu (guoxi.nosp@m.l@g..nosp@m.clems.nosp@m.on.e.nosp@m.du)
Date
May 2021.

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.

See also
ttk::CompactTriangulationPreconditioning

Online examples:

Definition at line 52 of file Octree.h.

Constructor & Destructor Documentation

◆ Octree() [1/2]

Octree::Octree ( const ttk::AbstractTriangulation t)

Definition at line 6 of file Octree.cpp.

◆ Octree() [2/2]

Octree::Octree ( const ttk::AbstractTriangulation t,
const int  k 
)

Definition at line 10 of file Octree.cpp.

◆ ~Octree()

Octree::~Octree ( )
overridedefault

Member Function Documentation

◆ empty()

bool Octree::empty ( )

Return true if the octree is empty, otherwise false.

Definition at line 48 of file Octree.cpp.

◆ getNodeTreeDepth()

size_t Octree::getNodeTreeDepth ( const OctreeNode node)

Get the depth of the node in the octree.

Definition at line 60 of file Octree.cpp.

◆ getParentNode()

OctreeNode * Octree::getParentNode ( OctreeNode node)

Get the parent node of the current node.

Definition at line 71 of file Octree.cpp.

◆ initialize()

void Octree::initialize ( const ttk::AbstractTriangulation t,
const int  k 
)

Definition at line 17 of file Octree.cpp.

◆ insertCell()

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.

◆ insertVertex()

int Octree::insertVertex ( ttk::SimplexId vertexId)

Insert the vertex into the octree by its id.

Definition at line 123 of file Octree.cpp.

◆ reindex()

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.

◆ verifyTree()

int Octree::verifyTree ( ttk::SimplexId vertexNum)

Get the total number of vertices in the tree.

Definition at line 96 of file Octree.cpp.

◆ visitAll()

void Octree::visitAll ( const OctreeNode node)

Traverse the octree from a given node.

Definition at line 80 of file Octree.cpp.


The documentation for this class was generated from the following files: