4#include <vtkCellData.h>
6#include <vtkIdTypeArray.h>
7#include <vtkInformation.h>
8#include <vtkPointData.h>
16 this->SetNumberOfInputPorts(1);
17 this->SetNumberOfOutputPorts(1);
24 info->Set(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(),
"vtkDataSet");
39 vtkInformationVector **inputVector,
40 vtkInformationVector *outputVector) {
42 vtkDataSet *input = vtkDataSet::GetData(inputVector[0]);
43 vtkDataSet *output = vtkDataSet::GetData(outputVector);
47 int keepGoing = checkEmptyMPIInput<vtkDataSet>(input);
53 if(triangulation ==
nullptr) {
54 this->
printErr(
"Triangulation is NULL");
62 ttk::SimplexId numberOfVertices = triangulation->getNumberOfVertices();
63 vtkNew<vtkIdTypeArray> globalPointIds;
64 globalPointIds->SetNumberOfTuples(numberOfVertices);
65 globalPointIds->SetNumberOfComponents(1);
66 globalPointIds->SetName(
"GlobalPointIds");
67 for(
int i = 0; i < numberOfVertices; i++) {
69 if(input->GetDataObjectType() == VTK_IMAGE_DATA) {
70 globalPointIds->SetTuple1(i, triangulation->getVertexGlobalId(i));
73 globalPointIds->SetTuple1(i, i);
78 if(input->GetDataObjectType() == VTK_IMAGE_DATA) {
80 input->GetPointData()->AddArray(globalPointIds);
85 output->ShallowCopy(input);
#define ttkNotUsed(x)
Mark function/method parameters that are not used in the function body at all.
static vtkInformationIntegerKey * SAME_DATA_TYPE_AS_INPUT_PORT()
ttk::Triangulation * GetTriangulation(vtkDataSet *dataSet)
TTK VTK-filter that triggers the computation of global identifiers.
int FillInputPortInformation(int port, vtkInformation *info) override
int FillOutputPortInformation(int port, vtkInformation *info) override
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
~ttkIdentifiers() 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 printErr(const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const
int SimplexId
Identifier type for simplices of any dimension.
vtkStandardNewMacro(ttkIdentifiers)