Salome HOME
Update copyright information
[modules/visu.git] / src / PIPELINE / VISU_CutSegmentPL.hxx
1 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
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.
7 //
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.
12 //
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
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 // File:    VISU_CutSegmentPL.hxx
21 // Author:  Oleg UVAROV
22 // Module : VISU
23 //
24 #ifndef VISU_CutSegmentPL_HeaderFile
25 #define VISU_CutSegmentPL_HeaderFile
26
27 #include "VISUPipeline.hxx"
28 #include "VISU_CutLinesBasePL.hxx"
29
30
31 //----------------------------------------------------------------------------
32 class VISU_PIPELINE_EXPORT VISU_CutSegmentPL : public VISU_CutLinesBasePL
33 {
34 public:
35   vtkTypeMacro(VISU_CutSegmentPL,VISU_CutLinesBasePL);
36
37   static 
38   VISU_CutSegmentPL* 
39   New();
40
41   virtual 
42   void
43   SetPoint1(vtkFloatingPointType theX,
44             vtkFloatingPointType theY,
45             vtkFloatingPointType theZ);
46
47   virtual 
48   void
49   GetPoint1(vtkFloatingPointType& theX,
50             vtkFloatingPointType& theY,
51             vtkFloatingPointType& theZ);
52
53   virtual 
54   void
55   SetPoint2(vtkFloatingPointType theX,
56             vtkFloatingPointType theY,
57             vtkFloatingPointType theZ);
58
59   virtual 
60   void
61   GetPoint2(vtkFloatingPointType& theX,
62             vtkFloatingPointType& theY,
63             vtkFloatingPointType& theZ);
64
65 public:
66   virtual
67   void
68   Init();
69
70   vtkDataSet*
71   InsertCustomPL();
72
73   virtual
74   void
75   Update();
76
77 protected:
78   VISU_CutSegmentPL();
79
80   virtual
81   void
82   DoShallowCopy(VISU_PipeLine *thePipeLine,
83                 bool theIsCopyInput);
84
85   vtkFloatingPointType myPoint1[3];
86   vtkFloatingPointType myPoint2[3];
87
88 private:
89   VISU_CutSegmentPL(const VISU_CutSegmentPL&);  // Not implemented.
90   void operator=(const VISU_CutSegmentPL&);  // Not implemented.
91 };
92
93
94 #endif