Salome HOME
Jira413 : Static Plane Cutter update for StaticMesh plugin
[modules/paravis.git] / src / Plugins / StaticMesh / vtkStaticPlaneCutter.h
index badea39941591be929b09082fd53dea2cd0b7f5d..ab473e7c8b89eabea851df4f8b72e959999752ee 100644 (file)
@@ -45,44 +45,47 @@ class vtkStaticPlaneCutter : public vtkPlaneCutter
 public:
   static vtkStaticPlaneCutter* New();
   typedef vtkPlaneCutter Superclass; // vtkTypeMacro can't be used with a factory built object
-  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
+  void PrintSelf(ostream &os, vtkIndent indent) override;
 
-  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) VTK_OVERRIDE;
+  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
 
 protected:
   vtkStaticPlaneCutter();
-  ~vtkStaticPlaneCutter() VTK_OVERRIDE;
+  ~vtkStaticPlaneCutter() override;
 
   /**
-   * Check input for "Ids" cell array, if absent, compute and add them.
+   * Check input for Ids cell array, if absent, compute and add them.
    */
   static void AddIdsArray(vtkDataSet* input, vtkDataSet* output);
 
   /**
-   * Update cache point, cell and field data using input
+   * Remove an Ids cell array in all polydata pieces of output
    */
-  void UpdateCacheData(vtkDataSet* input);
+  static void RemoveIdsArray(vtkMultiPieceDataSet* output);
 
   /**
-   * Compute the cells ids to be used when updating the cache later
+   * Update cache point, cell and field data using input
    */
-  void ComputeCellIds();
+  void UpdateCacheData(vtkDataSet* input);
 
   /**
-   * Remove all point data array of a multipiece input with polydata leafs
+   * Compute the ids and weights to be used when updating the cache later
    */
-  static void RemovePointData(vtkMultiPieceDataSet* dataset);
+  void ComputeIds(vtkUnstructuredGrid* input);
+
+  void ClearWeightsVector();
 
   vtkNew<vtkMultiPieceDataSet> Cache;
   std::vector<vtkSmartPointer<vtkIdList> > CellToCopyFrom;
   std::vector<vtkSmartPointer<vtkIdList> > CellToCopyTo;
+  std::vector<std::vector<std::pair<vtkSmartPointer<vtkIdList>, double*>>> WeightsVectorCompo;
   vtkMTimeType InputMeshTime;
   vtkMTimeType FilterMTime;
 
 private:
   // Hide these from the user and the compiler.
-  vtkStaticPlaneCutter(const vtkStaticPlaneCutter&) VTK_DELETE_FUNCTION;
-  void operator=(const vtkStaticPlaneCutter&) VTK_DELETE_FUNCTION;
+  vtkStaticPlaneCutter(const vtkStaticPlaneCutter&) = delete;
+  void operator=(const vtkStaticPlaneCutter&) = delete;
 };
 
 #endif