TTK
|
ZeroSkeleton processing package. More...
#include <ZeroSkeleton.h>
Public Member Functions | |
ZeroSkeleton () | |
int | buildVertexEdges (const SimplexId &vertexNumber, const std::vector< std::array< SimplexId, 2 > > &edgeList, FlatJaggedArray &vertexEdges) const |
int | buildVertexLinks (const FlatJaggedArray &vertexStars, const std::vector< std::array< SimplexId, 3 > > &cellEdges, const std::vector< std::array< SimplexId, 2 > > &edgeList, FlatJaggedArray &vertexLinks) const |
int | buildVertexLinks (const FlatJaggedArray &vertexStars, const std::vector< std::array< SimplexId, 4 > > &cellTriangles, const std::vector< std::array< SimplexId, 3 > > &triangleList, FlatJaggedArray &vertexLinks) const |
int | buildVertexNeighbors (const SimplexId &vertexNumber, FlatJaggedArray &vertexNeighbors, const std::vector< std::array< SimplexId, 2 > > &edgeList) const |
int | buildVertexStars (const SimplexId &vertexNumber, const CellArray &cellArray, FlatJaggedArray &vertexStars) 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 |
ZeroSkeleton processing package.
ZeroSkeleton is a processing package that handles the 0-skeleton (vertices) of a triangulation.
Definition at line 25 of file ZeroSkeleton.h.
ZeroSkeleton::ZeroSkeleton | ( | ) |
Definition at line 5 of file ZeroSkeleton.cpp.
int ZeroSkeleton::buildVertexEdges | ( | const SimplexId & | vertexNumber, |
const std::vector< std::array< SimplexId, 2 > > & | edgeList, | ||
FlatJaggedArray & | vertexEdges | ||
) | const |
Compute the list of edges connected to each vertex of a triangulation.
vertexNumber | Number of vertices in the triangulation. |
edgeList | List of edges. Each entry is represented by the ordered std::pair of identifiers of the entry's edge's vertices. |
vertexEdges | Output vertex links. The size of this std::vector will be equal to the number of vertices in the mesh. Each entry will be a std::vector listing the identifiers of the edges connected to the entry's vertex. |
Definition at line 9 of file ZeroSkeleton.cpp.
int ZeroSkeleton::buildVertexLinks | ( | const FlatJaggedArray & | vertexStars, |
const std::vector< std::array< SimplexId, 3 > > & | cellEdges, | ||
const std::vector< std::array< SimplexId, 2 > > & | edgeList, | ||
FlatJaggedArray & | vertexLinks | ||
) | const |
Compute the link of each vertex of a 2D triangulation (unspecified behavior if the input mesh is not a valid triangulation).
vertexStars | List of vertex stars. The size of this std::vector should be equal to the number of vertices in the triangulation. Each entry is a std::vector listing the identifiers of triangles. |
cellEdges | List of cell edges. The size of this std::vector should be equal to the number of triangles. Each entry is a std::array of identifiers of edges. |
edgeList | List of edges. The size of this std::vector should be equal to the number of edges. Each entry is a std::array of vertex identifiers per edge. |
vertexLinks | Output vertex links. The size of this std::vector will be equal to the number of vertices in the triangulation. Each entry will be a std::vector listing the edges in the link of the corresponding vertex. |
Definition at line 59 of file ZeroSkeleton.cpp.
int ZeroSkeleton::buildVertexLinks | ( | const FlatJaggedArray & | vertexStars, |
const std::vector< std::array< SimplexId, 4 > > & | cellTriangles, | ||
const std::vector< std::array< SimplexId, 3 > > & | triangleList, | ||
FlatJaggedArray & | vertexLinks | ||
) | const |
Compute the link of each vertex of a 3D triangulation (unspecified behavior if the input mesh is not a valid triangulation).
vertexStars | List of vertex stars. The size of this std::vector should be equal to the number of vertices in the triangulation. Each entry is a std::vector listing the identifiers of tetrahedra. |
cellTriangles | List of cell triangles. The size of this std::vector should be equal to the number of tetrahedra. Each entry is a std::vector of identifiers of triangles. |
triangleList | List of triangles. For each triangle, a std::array identifying its three vertices. |
vertexLinks | Output vertex links. The size of this std::vector will be equal to the number of vertices in the triangulation. Each entry will be a std::vector listing the triangles in the link of the corresponding vertex. |
Definition at line 116 of file ZeroSkeleton.cpp.
int ZeroSkeleton::buildVertexNeighbors | ( | const SimplexId & | vertexNumber, |
FlatJaggedArray & | vertexNeighbors, | ||
const std::vector< std::array< SimplexId, 2 > > & | edgeList | ||
) | const |
Compute the list of neighbors of each vertex of a triangulation. Unspecified behavior if the input mesh is not a valid triangulation).
vertexNumber | Number of vertices in the triangulation. |
vertexNeighbors | Output neighbor list. The size of this std::vector will be equal to the number of vertices in the mesh. Each entry will be std::vector listing the vertex identifiers of the entry's vertex' neighbors. |
edgeList | List of edges. If this std::vector is not empty but incorrect, the behavior is unspecified. |
Definition at line 173 of file ZeroSkeleton.cpp.
int ZeroSkeleton::buildVertexStars | ( | const SimplexId & | vertexNumber, |
const CellArray & | cellArray, | ||
FlatJaggedArray & | vertexStars | ||
) | const |
Compute the star of each vertex of a triangulation. Unspecified behavior if the input mesh is not a valid triangulation.
vertexNumber | Number of vertices in the triangulation. |
cellArray | Cell container allowing to retrieve the vertices of each cell. |
vertexStars | Output vertex stars. The size of this std::vector will be equal to the number of vertices in the mesh. Each entry will be a std::vector listing the identifiers of the maximum-dimensional cells (3D: tetrahedra, 2D: triangles, etc.) connected to the entry's vertex. |
Definition at line 222 of file ZeroSkeleton.cpp.