Salome HOME
Bug IPAL22927: TC6.5.0: bounding box is not updated for Point Map 3D
[modules/visu.git] / src / PIPELINE / VISU_MergedPL.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 //  VISU OBJECT : interactive object for VISU entities implementation
21 // File:    VISU_MergedPL.hxx
22 // Author:  Alexey PETROV
23 // Module : VISU
24 //
25 #ifndef VISU_MergedPL_HeaderFile
26 #define VISU_MergedPL_HeaderFile
27
28 #include "VISUPipeline.hxx"
29 #include "VISU_Structures.hxx"
30
31 class vtkDataSet;
32 class vtkPointSet;
33 class VISU_PipeLine;
34  
35
36 //----------------------------------------------------------------------------
37 struct VISU_PIPELINE_EXPORT VISU_MergedPL
38 {
39   virtual  
40   void  
41   SetSourceGeometry() = 0;
42
43   virtual
44   int
45   AddGeometry( vtkDataSet* theGeometry, const VISU::TName& theGeomName ) = 0;
46
47   virtual
48   vtkDataSet*
49   GetGeometry( int theGeomNumber, VISU::TName& theGeomName ) = 0;
50
51   virtual
52   int
53   GetNumberOfGeometry() = 0;
54
55   virtual
56   bool 
57   IsExternalGeometryUsed() = 0;
58
59   virtual
60   void
61   ClearGeometry() = 0;
62
63   virtual 
64   vtkPointSet* 
65   GetMergedInput() = 0;
66
67   virtual
68   void
69   DoShallowCopy(VISU_PipeLine *thePipeLine,
70                 bool theIsCopyInput);
71
72   virtual
73   void
74   AddGeometryName(const VISU::TName& theGeomName);
75
76   virtual
77   VISU::TName
78   GetGeometryName( int theGeomNumber ) const;
79
80   virtual
81   const VISU::TNames&
82   GetGeometryNames() const;
83
84   virtual
85   void
86   ClearGeometryNames();
87
88   VISU::TNames myGeometryNames;
89 };
90   
91 #endif