1 // Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 // VISU OBJECT : interactive object for VISU entities implementation
21 // File: VISU_DeformedShapeAndScalarMapPL.hxx
22 // Author: Eugeny Nikolaev
25 #ifndef VISU_DeformedShapeAndScalarMapPL_HeaderFile
26 #define VISU_DeformedShapeAndScalarMapPL_HeaderFile
28 #include "VISUPipeline.hxx"
29 #include "VISU_ScalarMapPL.hxx"
31 class VISU_MergeFilter;
33 class vtkUnstructuredGrid;
34 class VISU_CellDataToPointData;
35 class vtkPointDataToCellData;
36 class VISU_ElnoDisassembleFilter;
37 class SALOME_ExtractGeometry;
38 class vtkImplicitFunction;
41 //----------------------------------------------------------------------------
42 class VISU_PIPELINE_EXPORT VISU_DeformedShapeAndScalarMapPL : public VISU_ScalarMapPL
45 vtkTypeMacro(VISU_DeformedShapeAndScalarMapPL, VISU_ScalarMapPL);
48 VISU_DeformedShapeAndScalarMapPL*
53 SetScale(vtkFloatingPointType theScale);
65 SetScalarMode(int theScalarMode = 0);
69 SetScaling(int theScaling);
73 SetScalarRange(vtkFloatingPointType theRange[2]);
81 GetSourceRange(vtkFloatingPointType theRange[2]);
85 SetGaussMetric(VISU::TGaussMetric theGaussMetric);
93 SetScalars(vtkDataSet *theScalars);
101 RemoveAllClippingPlanes();
105 RemoveClippingPlane(vtkIdType theID);
109 AddClippingPlane(vtkPlane* thePlane);
113 SetImplicitFunction(vtkImplicitFunction *theFunction);
117 GetImplicitFunction();
120 //! Redefined method for initialization of the pipeline.
125 //! Redefined method for building the pipeline.
130 //! Redefined method for updating the pipeline.
135 //! Gets memory size used by the instance (bytes).
146 SetMapScale(vtkFloatingPointType theMapScale = 1.0);
149 VISU_DeformedShapeAndScalarMapPL();
152 ~VISU_DeformedShapeAndScalarMapPL();
160 DoShallowCopy(VISU_PipeLine *thePipeLine,
161 bool theIsCopyInput);
164 VISU_DeformedShapeAndScalarMapPL(const VISU_DeformedShapeAndScalarMapPL&);
166 vtkFloatingPointType myScaleFactor;
167 vtkFloatingPointType myMapScaleFactor;
168 vtkWarpVector *myWarpVector;
169 VISU_MergeFilter *myScalarsMergeFilter;
170 vtkSmartPointer<vtkUnstructuredGrid> myScalars;
171 VISU_CellDataToPointData* myCellDataToPointData;
172 VISU_FieldTransform* myScalarsFieldTransform;
173 VISU_Extractor* myScalarsExtractor;
174 VISU_ElnoDisassembleFilter* myScalarsElnoDisassembleFilter;
175 SALOME_ExtractGeometry* myExtractGeometry;