TTK
|
ThreeSkeleton processing package. More...
#include <ThreeSkeleton.h>
Public Member Functions | |
ThreeSkeleton () | |
int | buildCellNeighborsFromTriangles (const SimplexId &vertexNumber, const CellArray &cellArray, FlatJaggedArray &cellNeighbors, FlatJaggedArray *triangleStars=nullptr) const |
int | buildCellNeighborsFromVertices (const SimplexId &vertexNumber, const CellArray &cellArray, FlatJaggedArray &cellNeighbors, FlatJaggedArray *vertexStars=nullptr) const |
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 |
ThreeSkeleton processing package.
ThreeSkeleton is a processing package that handles the 3-skeleton (tetrahedra) of a triangulation.
Definition at line 26 of file ThreeSkeleton.h.
ThreeSkeleton::ThreeSkeleton | ( | ) |
Definition at line 6 of file ThreeSkeleton.cpp.
int ThreeSkeleton::buildCellNeighborsFromTriangles | ( | const SimplexId & | vertexNumber, |
const CellArray & | cellArray, | ||
FlatJaggedArray & | cellNeighbors, | ||
FlatJaggedArray * | triangleStars = nullptr |
||
) | const |
Compute the list of cell-neighbors of each cell of a triangulation (unspecified behavior if the input mesh is not a triangulation). This implementation is fast only if you already have the triangle stars computed. Otherwise, please use ThreeSkeleton::buildCellNeighborsFromVertices instead.
vertexNumber | Number of vertices in the triangulation. |
cellArray | Cell container allowing to retrieve the vertices ids of each cell. |
cellNeighbors | Output neighbor list. The size of this std::vector will be equal to the number of cells in the mesh. Each entry will be a std::vector listing the cell identifiers of the entry's cell's neighbors. |
triangleStars | Optional list of triangle stars (list of 3-dimensional cells connected to each triangle). If nullptr, the function will compute this list anyway and free the related memory upon return. If not nullptr but pointing to an empty std::vector, the function will fill this empty std::vector (useful if this list needs to be used later on by the calling program). If not nullptr but pointing to a non-empty std::vector, this function will use this std::vector as internal triangle star list. If this std::vector is not empty but incorrect, the behavior is unspecified. |
Definition at line 11 of file ThreeSkeleton.cpp.
int ThreeSkeleton::buildCellNeighborsFromVertices | ( | const SimplexId & | vertexNumber, |
const CellArray & | cellArray, | ||
FlatJaggedArray & | cellNeighbors, | ||
FlatJaggedArray * | vertexStars = nullptr |
||
) | const |
Compute the list of cell-neighbors of each cell of a triangulation (unspecified behavior if the input mesh is not a triangulation).
vertexNumber | Number of vertices in the triangulation. |
cellArray | Cell container allowing to retrieve the vertices ids of each cell. |
cellNeighbors | Output neighbor list. The size of this std::vector will be equal to the number of cells in the mesh. Each entry will be a std::vector listing the cell identifiers of the entry's cell's neighbors. |
vertexStars | Optional list of vertex stars (list of 3-dimensional cells connected to each vertex). If nullptr, the function will compute this list anyway and free the related memory upon return. If not nullptr but pointing to an empty std::vector, the function will fill this empty std::vector (useful if this list needs to be used later on by the calling program). If not nullptr but pointing to a non-empty std::vector, this function will use this std::vector as internal vertex star list. If this std::vector is not empty but incorrect, the behavior is unspecified. |
Definition at line 97 of file ThreeSkeleton.cpp.