1 // VISU OBJECT : interactive object for VISU entities implementation
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
23 // File: VISU_PipeLine.hxx
24 // Author: Alexey PETROV
27 #ifndef VISU_CutLinesPL_HeaderFile
28 #define VISU_CutLinesPL_HeaderFile
30 #include "VISU_CutPlanesPL.hxx"
32 class vtkAppendPolyData;
34 class VISU_CutLinesPL : public VISU_CutPlanesPL{
37 VISU_CutLinesPL(const VISU_CutLinesPL&);
39 vtkTypeMacro(VISU_CutLinesPL,VISU_CutPlanesPL);
40 static VISU_CutLinesPL* New();
41 virtual void ShallowCopy(VISU_PipeLine *thePipeLine);
43 virtual void SetPosition(float thePosition);
44 virtual float GetPosition();
46 virtual void SetDefault();
47 virtual int IsDefault();
51 virtual void Update();
53 static void CutWithPlanes(vtkAppendPolyData* theAppendPolyData, vtkDataSet* theDataSet,
54 int theNbPlanes, float theDir[3], float theBounds[6],
55 float thePlanePosition, int thePlaneCondition,
56 float theDisplacement);
58 const float* GetDirLn(){ return myDirLn;}
59 const float* GetBoundPrjLn(){ return myBoundPrjLn;}
60 const float* GetBasePnt(){ return myBasePnt;}
63 float myDirLn[3], myBoundPrjLn[3], myBasePnt[3];