TTK
|
TTK optional package for octree based range queries in bivariate volumetric data. More...
#include <RangeDrivenOctree.h>
Classes | |
struct | OctreeNode |
Public Member Functions | |
RangeDrivenOctree () | |
template<class dataTypeU , class dataTypeV , typename triangulationType > | |
int | build (const triangulationType *const triangulation) |
bool | empty () const |
void | flush () |
int | getTet2NodeMap (std::vector< SimplexId > &map, const bool &forSegmentation=false) const |
int | rangeSegmentQuery (const std::pair< double, double > &p0, const std::pair< double, double > &p1, std::vector< SimplexId > &cellList) const |
void | setCellList (const SimplexId *cellList) |
void | setCellNumber (const SimplexId &cellNumber) |
void | setLeafMinimumCellNumber (const SimplexId &number) |
void | setLeafMinimumDomainVolumeRatio (const float &ratio) |
void | setLeafMinimumRangeAreaRatio (const float &ratio) |
void | setPointList (const float *pointList) |
void | setRange (const void *u, const void *v) |
void | setVertexNumber (const SimplexId &vertexNumber) |
int | stats (std::ostream &stream) |
int | statNode (const SimplexId &nodeId, std::ostream &stream) |
![]() | |
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) |
![]() | |
BaseClass () | |
virtual | ~BaseClass ()=default |
int | getThreadNumber () const |
virtual int | setThreadNumber (const int threadNumber) |
Protected Member Functions | |
template<class dataTypeU , class dataTypeV > | |
int | buildNode (const std::vector< SimplexId > &cellList, const std::array< std::pair< float, float >, 3 > &domainBox, const std::pair< std::pair< double, double >, std::pair< double, double > > &rangeBox, SimplexId &nodeId) |
int | rangeSegmentQuery (const std::pair< double, double > &p0, const std::pair< double, double > &p1, const SimplexId &nodeId, std::vector< SimplexId > &cellList) const |
bool | segmentIntersection (const std::pair< double, double > &p0, const std::pair< double, double > &p1, const std::pair< double, double > &q0, const std::pair< double, double > &q1) const |
![]() | |
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 | |
const void * | u_ {} |
const void * | v_ {} |
const float * | pointList_ {} |
const SimplexId * | cellList_ {} |
float | domainVolume_ {} |
float | leafMinimumDomainVolumeRatio_ {0.01F} |
float | leafMinimumRangeAreaRatio_ {0.01F} |
float | rangeArea_ {} |
SimplexId | cellNumber_ {} |
SimplexId | vertexNumber_ {} |
SimplexId | leafMinimumCellNumber_ {6} |
SimplexId | rootId_ {} |
SimplexId | queryResultNumber_ {} |
std::vector< OctreeNode > | nodeList_ {} |
std::vector< std::array< std::pair< float, float >, 3 > > | cellDomainBox_ {} |
std::vector< std::pair< std::pair< double, double >, std::pair< double, double > > > | cellRangeBox_ {} |
![]() | |
int | debugLevel_ |
std::string | debugMsgPrefix_ |
std::string | debugMsgNamePrefix_ |
![]() | |
bool | lastObject_ |
int | threadNumber_ |
Wrapper * | wrapper_ |
Additional Inherited Members | |
![]() | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
TTK optional package for octree based range queries in bivariate volumetric data.
This class accelerates range-driven queries in bivariate volumetric data. This class is typically used to accelerate fiber surface computation.
Related publication
"Fast and Exact Fiber Surface Extraction for Tetrahedral Meshes"
Pavol Klacansky, Julien Tierny, Hamish Carr, Zhao Geng
IEEE Transactions on Visualization and Computer Graphics, 2016.
Definition at line 27 of file RangeDrivenOctree.h.
RangeDrivenOctree::RangeDrivenOctree | ( | ) |
Definition at line 9 of file RangeDrivenOctree.cpp.
|
inline |
Definition at line 130 of file RangeDrivenOctree.h.
|
protected |
Definition at line 303 of file RangeDrivenOctree.h.
|
inline |
Definition at line 34 of file RangeDrivenOctree.h.
void RangeDrivenOctree::flush | ( | ) |
Definition at line 13 of file RangeDrivenOctree.cpp.
int RangeDrivenOctree::getTet2NodeMap | ( | std::vector< SimplexId > & | map, |
const bool & | forSegmentation = false |
||
) | const |
Definition at line 19 of file RangeDrivenOctree.cpp.
|
protected |
Definition at line 68 of file RangeDrivenOctree.cpp.
int RangeDrivenOctree::rangeSegmentQuery | ( | const std::pair< double, double > & | p0, |
const std::pair< double, double > & | p1, | ||
std::vector< SimplexId > & | cellList | ||
) | const |
Definition at line 44 of file RangeDrivenOctree.cpp.
|
protected |
Definition at line 351 of file RangeDrivenOctree.cpp.
|
inline |
Definition at line 47 of file RangeDrivenOctree.h.
|
inline |
Definition at line 51 of file RangeDrivenOctree.h.
|
inline |
Definition at line 55 of file RangeDrivenOctree.h.
|
inline |
Definition at line 59 of file RangeDrivenOctree.h.
|
inline |
Definition at line 63 of file RangeDrivenOctree.h.
|
inline |
Definition at line 67 of file RangeDrivenOctree.h.
|
inline |
Definition at line 71 of file RangeDrivenOctree.h.
|
inline |
Definition at line 76 of file RangeDrivenOctree.h.
int RangeDrivenOctree::statNode | ( | const SimplexId & | nodeId, |
std::ostream & | stream | ||
) |
Definition at line 256 of file RangeDrivenOctree.cpp.
int RangeDrivenOctree::stats | ( | std::ostream & | stream | ) |
Definition at line 294 of file RangeDrivenOctree.cpp.
|
protected |
Definition at line 120 of file RangeDrivenOctree.h.
|
protected |
Definition at line 113 of file RangeDrivenOctree.h.
|
protected |
Definition at line 116 of file RangeDrivenOctree.h.
|
protected |
Definition at line 122 of file RangeDrivenOctree.h.
|
protected |
Definition at line 114 of file RangeDrivenOctree.h.
|
protected |
Definition at line 116 of file RangeDrivenOctree.h.
|
protected |
Definition at line 114 of file RangeDrivenOctree.h.
|
protected |
Definition at line 115 of file RangeDrivenOctree.h.
|
protected |
Definition at line 119 of file RangeDrivenOctree.h.
|
protected |
Definition at line 112 of file RangeDrivenOctree.h.
|
mutableprotected |
Definition at line 118 of file RangeDrivenOctree.h.
|
protected |
Definition at line 115 of file RangeDrivenOctree.h.
|
protected |
Definition at line 117 of file RangeDrivenOctree.h.
|
protected |
Definition at line 110 of file RangeDrivenOctree.h.
|
protected |
Definition at line 111 of file RangeDrivenOctree.h.
|
protected |
Definition at line 116 of file RangeDrivenOctree.h.