]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_I/VISU_CutPlanes_i.hh
Salome HOME
Merge from BR_V5_DEV 16Feb09
[modules/visu.git] / src / VISU_I / VISU_CutPlanes_i.hh
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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.
10 //
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.
15 //
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
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  VISU OBJECT : interactive object for VISU entities implementation
23 //  File   : VISU_PrsObject_i.hxx
24 //  Author : Alexey PETROV
25 //  Module : VISU
26 //
27 #ifndef VISU_CutPlanes_i_HeaderFile
28 #define VISU_CutPlanes_i_HeaderFile
29
30 #include "VISU_ScalarMap_i.hh"
31 #include "VISU_OptionalDeformation_i.hh"
32
33 class VISU_CutPlanesPL;
34
35 namespace VISU
36 {
37   //----------------------------------------------------------------------------
38   class VISU_I_EXPORT CutPlanes_i : public virtual POA_VISU::CutPlanes,
39                                     public virtual ScalarMap_i,
40                                     public virtual OptionalDeformation_i
41   {
42     static int myNbPresent;
43     CutPlanes_i(const CutPlanes_i&);
44
45   public:
46     //----------------------------------------------------------------------------
47     typedef ScalarMap_i TSuperClass;
48     typedef VISU::CutPlanes TInterface;
49
50     explicit
51     CutPlanes_i(EPublishInStudyMode thePublishInStudyModep);
52
53     virtual
54     ~CutPlanes_i();
55
56     virtual
57     VISU::VISUType 
58     GetType() 
59     { 
60       return VISU::TCUTPLANES;
61     }
62
63     virtual
64     void
65     SetOrientation(VISU::CutPlanes::Orientation theOrient,
66                    CORBA::Double theXAngle, 
67                    CORBA::Double theYAngle);
68
69     virtual 
70     VISU::CutPlanes::Orientation 
71     GetOrientationType();
72
73     virtual
74     CORBA::Double
75     GetRotateX();
76
77     virtual
78     CORBA::Double
79     GetRotateY();
80
81     virtual
82     void
83     SetDisplacement(CORBA::Double theDisp);
84
85     virtual
86     CORBA::Double
87     GetDisplacement();
88
89     virtual
90     void
91     SetPlanePosition(CORBA::Long thePlaneNumber, 
92                      CORBA::Double thePlanePosition);
93     virtual 
94     CORBA::Double 
95     GetPlanePosition(CORBA::Long thePlaneNumber);
96
97     virtual
98     void
99     SetDefault(CORBA::Long thePlaneNumber);
100
101     virtual
102     CORBA::Boolean 
103     IsDefault(CORBA::Long thePlaneNumber);
104
105     virtual
106     void
107     SetNbPlanes(CORBA::Long theNb);
108
109     virtual
110     CORBA::Long
111     GetNbPlanes();
112
113     VISU_CutPlanesPL* 
114     GetSpecificPL() const
115     { 
116       return myCutPlanesPL; 
117     }
118     
119   protected:
120     //! Redefines VISU_ColoredPrs3d_i::CreatePipeLine
121     virtual
122     void
123     CreatePipeLine(VISU_PipeLine* thePipeLine);
124
125     //! Redefines VISU_ColoredPrs3d_i::CheckIsPossible
126     virtual 
127     bool 
128     CheckIsPossible();
129
130     VISU_CutPlanesPL *myCutPlanesPL;
131
132   public:
133     //! Redefines VISU_ColoredPrs3d_i::IsPossible
134     static
135     size_t
136     IsPossible(Result_i* theResult, 
137                const std::string& theMeshName, 
138                VISU::Entity theEntity,
139                const std::string& theFieldName, 
140                CORBA::Long theTimeStampNumber,
141                bool theIsMemoryCheck);
142
143     //! Redefines VISU_ColoredPrs3d_i::Create
144     virtual 
145     Storable* 
146     Create(const std::string& theMeshName, 
147            VISU::Entity theEntity,
148            const std::string& theFieldName, 
149            CORBA::Long theTimeStampNumber);
150
151     //! Redefines VISU_ColoredPrs3d_i::ToStream
152     virtual
153     void
154     ToStream(std::ostringstream& theStr);
155
156     //! Redefines VISU_ColoredPrs3d_i::Restore
157     virtual
158     Storable* 
159     Restore(SALOMEDS::SObject_ptr theSObject,
160             const Storable::TRestoringMap& theMap);
161
162     virtual 
163     void
164     SameAs(const Prs3d_i* theOrigin);
165
166     //! Redefines VISU_ColoredPrs3d_i::CreateActor
167     virtual 
168     VISU_Actor* 
169     CreateActor();
170
171     static const std::string myComment;
172
173     //! Redefines VISU_ColoredPrs3d_i::GetComment
174     virtual 
175     const char* 
176     GetComment() const;
177
178     //! Redefines VISU_ColoredPrs3d_i::GenerateName
179     virtual
180     QString
181     GenerateName();
182
183     virtual
184     const char* 
185     GetIconName();
186   };
187 }
188
189 #endif