41 vtkInformationVector **inputVector,
42 vtkInformationVector *outputVector) {
44 auto inputPointSet = vtkPointSet::GetData(inputVector[0]);
45 auto inputMesh = vtkPointSet::GetData(inputVector[1]);
46 auto outputPointSet = vtkPointSet::GetData(outputVector);
49 if(triangulationToSmooth ==
nullptr) {
55 if(triangulationSurface ==
nullptr) {
60 std::vector<ttk::SimplexId> idSpareStorage{};
63 idSpareStorage, 0,
false);
64 if(vertsId ==
nullptr) {
65 this->
printWrn(
"No vertex scalar field detected on input");
72 outputPointSet->DeepCopy(inputPointSet);
75 auto inputPoints = inputPointSet->GetPoints();
76 auto outputPoints = outputPointSet->GetPoints();
78 const auto hasMask{this->UseMaskScalarField && inputMaskField !=
nullptr};
80 if(triangulationSurface->getType() != triangulationToSmooth->getType()) {
81 this->
printErr(
"Triangulations should have the same type");
88 triangulationToSmooth->getType(),
90 ttkUtils::GetPointer<float>(outputPoints->GetData()),
91 ttkUtils::GetPointer<float>(inputPoints->GetData()),
92 hasMask ? ttkUtils::GetPointer<char>(inputMaskField) :
nullptr, vertsId,
93 this->NumberOfIterations,
94 *
static_cast<TTK_TT *
>(triangulationToSmooth->getData()),
95 *
static_cast<TTK_TT *
>(triangulationSurface->getData())));
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)