TTK
|
TTK processing package for the computation of the Jacobi set of bivariate volumetric data. More...
#include <JacobiSet.h>
Public Member Functions | |
JacobiSet () | |
template<class dataTypeU , class dataTypeV , typename triangulationType > | |
int | execute (std::vector< std::pair< SimplexId, char > > &jacobiSet, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation, std::vector< char > *isPareto=nullptr) |
template<class dataTypeU , class dataTypeV , typename triangulationType > | |
char | getCriticalType (const SimplexId &edgeId, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation) |
template<class dataTypeU , class dataTypeV > | |
int | perturb (const dataTypeU *const uField, const dataTypeV *const vField, const dataTypeU uEpsilon=Geometry::powIntTen(-DBL_DIG), const dataTypeV vEpsilon=Geometry::powIntTen(-DBL_DIG)) const |
void | setEdgeFans (const std::vector< std::vector< SimplexId > > *edgeFans) |
void | setEdgeFanLinkEdgeList (const std::vector< std::vector< std::pair< SimplexId, SimplexId > > > *edgeFanLinkEdgeLists) |
void | setEdgeList (const std::vector< std::pair< SimplexId, SimplexId > > *edgeList) |
void | setSosOffsets (std::vector< SimplexId > *sosOffsets) |
void | setSosOffsetsU (const SimplexId *const sosOffsets) |
void | setSosOffsetsV (const SimplexId *const sosOffsets) |
void | setTetList (const SimplexId *tetList) |
void | setVertexNumber (const SimplexId &vertexNumber) |
void | preconditionTriangulation (AbstractTriangulation *const triangulation) |
![]() | |
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 | executeLegacy (std::vector< std::pair< SimplexId, char > > &jacobiSet, const dataTypeU *const uField, const dataTypeV *const vField) |
![]() | |
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 | |
SimplexId | vertexNumber_ {} |
const SimplexId * | tetList_ {} |
const std::vector< std::pair< SimplexId, SimplexId > > * | edgeList_ {} |
const std::vector< std::vector< std::pair< SimplexId, SimplexId > > > * | edgeFanLinkEdgeLists_ {} |
const std::vector< std::vector< SimplexId > > * | edgeFans_ {} |
const SimplexId * | sosOffsetsU_ {} |
const SimplexId * | sosOffsetsV_ {} |
![]() | |
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 processing package for the computation of the Jacobi set of bivariate volumetric data.
Given a bivariate scalar field defined on a PL 3-manifold, this package produces the list of Jacobi edges (each entry is a pair given by the edge identifier and the Jacobi edge type).
dataTypeU | Data type of the input first component field (char, float, etc.). |
dataTypeV | Data type of the input second component field (char, float, etc.) |
Related publication
"Jacobi sets of multiple Morse functions"
Herbert Edelsbrunner, John Harer
Foundations of Computational Mathematics. Cambridge University Press, 2002.
Online examples:
Definition at line 39 of file JacobiSet.h.
ttk::JacobiSet::JacobiSet | ( | ) |
Definition at line 3 of file JacobiSet.cpp.
int ttk::JacobiSet::execute | ( | std::vector< std::pair< SimplexId, char > > & | jacobiSet, |
const dataTypeU *const | uField, | ||
const dataTypeV *const | vField, | ||
const triangulationType & | triangulation, | ||
std::vector< char > * | isPareto = nullptr |
||
) |
Definition at line 6 of file JacobiSet_Template.h.
|
protected |
Definition at line 122 of file JacobiSet_Template.h.
char ttk::JacobiSet::getCriticalType | ( | const SimplexId & | edgeId, |
const dataTypeU *const | uField, | ||
const dataTypeV *const | vField, | ||
const triangulationType & | triangulation | ||
) |
Definition at line 301 of file JacobiSet_Template.h.
int ttk::JacobiSet::perturb | ( | const dataTypeU *const | uField, |
const dataTypeV *const | vField, | ||
const dataTypeU | uEpsilon = Geometry::powIntTen(-DBL_DIG) , |
||
const dataTypeV | vEpsilon = Geometry::powIntTen(-DBL_DIG) |
||
) | const |
Definition at line 557 of file JacobiSet_Template.h.
|
inline |
Definition at line 118 of file JacobiSet.h.
|
inline |
Definition at line 67 of file JacobiSet.h.
|
inline |
Definition at line 63 of file JacobiSet.h.
|
inline |
Definition at line 73 of file JacobiSet.h.
|
inline |
Definition at line 78 of file JacobiSet.h.
|
inline |
sosOffsets
buffer prior to any computation (the VTK wrapper already includes a mechanism to automatically generate such a preconditioned buffer). Definition at line 91 of file JacobiSet.h.
|
inline |
sosOffsets
buffer prior to any computation (the VTK wrapper already includes a mechanism to automatically generate such a preconditioned buffer). Definition at line 103 of file JacobiSet.h.
|
inline |
Definition at line 109 of file JacobiSet.h.
|
inline |
Definition at line 113 of file JacobiSet.h.
|
protected |
Definition at line 136 of file JacobiSet.h.
|
protected |
Definition at line 138 of file JacobiSet.h.
Definition at line 133 of file JacobiSet.h.
|
protected |
Definition at line 139 of file JacobiSet.h.
|
protected |
Definition at line 139 of file JacobiSet.h.
|
protected |
Definition at line 132 of file JacobiSet.h.
|
protected |
Definition at line 131 of file JacobiSet.h.