TTK
|
TTK VTK-filter for manifold checks. More...
#include <ttkManifoldCheck.h>
Public Types | |
typedef ttkAlgorithm | Superclass |
![]() | |
typedef vtkAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
![]() | |
void | UpdateThreadNumber () |
void | SetThreadNumber (int threadNumber) |
void | SetUseAllCores (bool useAllCores) |
void | SetDebugLevel (int debugLevel) |
void | SetCompactTriangulationCacheSize (float cacheSize) |
vtkDataArray * | GetOptionalArray (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, const int &inputPort=0) |
vtkDataArray * | GetOrderArray (vtkDataSet *const inputData, const int scalarArrayIdx, ttk::Triangulation *triangulation, const bool getGlobalOrder=false, const int orderArrayIdx=0, const bool enforceOrderArrayIdx=false) |
vtkDataArray * | checkForGlobalAndComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *orderArray, ttk::Triangulation *triangulation, const bool enforceOrderArrayIdx) |
vtkDataArray * | ComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *oldOrderArray, ttk::Triangulation *triangulation) |
ttk::SimplexId * | GetIdentifierArrayPtr (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, std::vector< ttk::SimplexId > &spareStorage, const int inputPort=0, const bool printErr=true) |
ttk::Triangulation * | GetTriangulation (vtkDataSet *dataSet) |
int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) override |
vtkDataSet * | GetOutput () |
vtkDataSet * | GetOutput (int) |
void | SetInputData (vtkDataSet *) |
void | SetInputData (int, vtkDataSet *) |
void | AddInputData (vtkDataSet *) |
void | AddInputData (int, vtkDataSet *) |
template<typename inputType > | |
int | checkEmptyMPIInput (inputType *input) |
This method tests whether the input is a nullptr. If the computation is being done on multiple processes, it is possible that the domain of one process or more is empty, but not others, therefore in that particular case the rest of the filter will not be computed but an error message will not be sent. | |
![]() | |
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) |
Static Public Member Functions | |
static ttkManifoldCheck * | New () |
static int | IsTypeOf (const char *type) |
static ttkManifoldCheck * | SafeDownCast (vtkObject *o) |
![]() | |
static ttkAlgorithm * | New () |
static int | IsTypeOf (const char *type) |
static ttkAlgorithm * | SafeDownCast (vtkObject *o) |
static std::string | GetOrderArrayName (vtkDataArray *const array) |
static vtkInformationIntegerKey * | SAME_DATA_TYPE_AS_INPUT_PORT () |
Protected Member Functions | |
ttkManifoldCheck () | |
~ttkManifoldCheck () override=default | |
int | FillInputPortInformation (int port, vtkInformation *info) override |
int | FillOutputPortInformation (int port, vtkInformation *info) override |
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
![]() | |
ttkAlgorithm () | |
~ttkAlgorithm () override | |
void | MPIGhostPipelinePreconditioning (vtkDataSet *input) |
void | MPIPipelinePreconditioning (vtkDataSet *input, std::vector< int > &neighbors, std::map< int, int > &neighToId, ttk::Triangulation *triangulation=nullptr) |
bool | checkGlobalIdValidity (ttk::LongSimplexId *globalIds, ttk::SimplexId simplexNumber, unsigned char *ghost, int *rankArray) |
int | GenerateGlobalIds (vtkDataSet *input, std::unordered_map< ttk::SimplexId, ttk::SimplexId > &vertGtoL, std::vector< int > &neighborRanks, std::map< int, int > &neighborsToId) |
void | MPITriangulationPreconditioning (ttk::Triangulation *triangulation, vtkDataSet *input) |
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) |
virtual int | RequestInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateTime (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateTimeDependentInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestUpdateExtent (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestDataNotGenerated (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
virtual int | RequestData (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
int | FillInputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
int | FillOutputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
![]() | |
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) |
![]() | |
template<class triangulationType = AbstractTriangulation> | |
int | vertexManifoldCheck (const triangulationType *triangulation, const ttk::SimplexId &vertexId) const |
template<class triangulationType = AbstractTriangulation> | |
int | edgeManifoldCheck (const triangulationType *triangulation, const ttk::SimplexId &edgeId) const |
ManifoldCheck () | |
~ManifoldCheck () override | |
template<class triangulationType = AbstractTriangulation> | |
int | execute (const triangulationType *triangulation) const |
Execute the package. | |
int | setVertexLinkComponentNumberVector (std::vector< ttk::SimplexId > *vertexVector) |
Register the output std::vector for vertex link component number. | |
int | setEdgeLinkComponentNumberVector (std::vector< ttk::SimplexId > *edgeVector) |
Register the output std::vector for edge link component number. | |
int | setTriangleLinkComponentNumberVector (std::vector< ttk::SimplexId > *triangleVector) |
Register the output std::vector for triangle link component number. | |
int | preconditionTriangulation (AbstractTriangulation *const triangulation) |
Additional Inherited Members | |
![]() | |
float | CompactTriangulationCacheSize {0.2f} |
![]() | |
int | debugLevel_ |
std::string | debugMsgPrefix_ |
std::string | debugMsgNamePrefix_ |
![]() | |
bool | lastObject_ |
int | threadNumber_ |
Wrapper * | wrapper_ |
![]() | |
std::vector< ttk::SimplexId > * | vertexLinkComponentNumber_ |
std::vector< ttk::SimplexId > * | edgeLinkComponentNumber_ |
std::vector< ttk::SimplexId > * | triangleLinkComponentNumber_ |
![]() | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
TTK VTK-filter for manifold checks.
This filter performs a manifold check for each simplex, by counting the number of connected components of link. On a d-dimensional triangulation, this number should be equal to 1 for all but (d-1)-simplices, for which it can be 1 (boundary simplices) or 2 (interior simplices). Other values indicate a non-manifold simplex.
The link component number is stored as an integer array for each type of simplex. In practice, these arrays are both stored as (i) point data and (ii) cell data, by considering the maximum value achieved by a co-face (i) and by a vertex (ii) respectively.
Input | Input data set (vtkDataSet) |
Output | Output field (vtkDataSet) |
This filter can be used as any other VTK filter (for instance, by using the sequence of calls SetInputData(), Update(), GetOutput()).
See the related ParaView example state files for usage examples within a VTK pipeline.
Online examples:
Definition at line 49 of file ttkManifoldCheck.h.
Definition at line 54 of file ttkManifoldCheck.h.
|
protected |
Definition at line 19 of file ttkManifoldCheck.cpp.
|
overrideprotecteddefault |
|
overrideprotected |
Definition at line 24 of file ttkManifoldCheck.cpp.
|
overrideprotected |
Definition at line 32 of file ttkManifoldCheck.cpp.
|
virtual |
Reimplemented from ttkAlgorithm.
|
virtual |
Reimplemented from ttkAlgorithm.
|
static |
|
static |
|
overrideprotected |
|
static |