Salome HOME
Update copyright information
[modules/visu.git] / src / VISU_I / VISU_Plot3D_i.hh
1 // Copyright (C) 2007-2012  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
23 #ifndef VISU_Plot3D_i_HeaderFile
24 #define VISU_Plot3D_i_HeaderFile
25
26 #include "VISU_ScalarMap_i.hh"
27
28 class VISU_Plot3DPL;
29
30 namespace VISU 
31 {
32   //----------------------------------------------------------------------------
33   class VISU_I_EXPORT Plot3D_i : public virtual POA_VISU::Plot3D,
34                                  public virtual ScalarMap_i
35   {
36     static int myNbPresent;
37     Plot3D_i(const Plot3D_i&);
38
39   public:
40     //----------------------------------------------------------------------------
41     typedef ScalarMap_i TSuperClass;
42     typedef VISU::Plot3D TInterface;
43
44     explicit
45     Plot3D_i(EPublishInStudyMode thePublishInStudyModep);
46
47     virtual 
48     ~Plot3D_i();
49
50     virtual 
51     VISU::VISUType 
52     GetType() 
53     { 
54       return VISU::TPLOT3D; 
55     }
56
57     virtual
58     void
59     SetOrientation (VISU::Plot3D::Orientation theOrient,
60                     CORBA::Double theXAngle, 
61                     CORBA::Double theYAngle);
62
63     virtual 
64     VISU::Plot3D::Orientation 
65     GetOrientationType();
66
67     virtual 
68     CORBA::Double 
69     GetRotateX();
70
71     virtual
72     CORBA::Double 
73     GetRotateY();
74
75     virtual
76     void
77     SetPlanePosition(CORBA::Double  thePlanePosition,
78                      CORBA::Boolean theIsRelative);
79
80     virtual
81     CORBA::Double 
82     GetPlanePosition();
83
84     virtual
85     CORBA::Boolean
86     IsPositionRelative();
87
88     virtual
89     void
90     SetScaleFactor(CORBA::Double theScaleFactor);
91
92     virtual
93     CORBA::Double
94     GetScaleFactor();
95
96     virtual
97     void
98     SetContourPrs(CORBA::Boolean theIsContourPrs);
99
100     CORBA::Boolean 
101     GetIsContourPrs();
102
103     virtual
104     void
105     SetNbOfContours(CORBA::Long theNb);
106
107     virtual
108     CORBA::Long
109     GetNbOfContours();
110
111     VISU_Plot3DPL* 
112     GetSpecificPL() const
113     { 
114       return myPlot3DPL; 
115     }
116     
117   protected:
118     //! Redefines VISU_ColoredPrs3d_i::CreatePipeLine
119     virtual 
120     void 
121     CreatePipeLine(VISU_PipeLine* thePipeLine);
122
123     //! Redefines VISU_ColoredPrs3d_i::CheckIsPossible
124     virtual 
125     bool 
126     CheckIsPossible();
127
128     VISU_Plot3DPL *myPlot3DPL;
129
130   public:
131     static
132     size_t
133     IsPossible(Result_i* theResult, 
134                const std::string& theMeshName, 
135                VISU::Entity theEntity,
136                const std::string& theFieldName, 
137                CORBA::Long theTimeStampNumber,
138                bool theIsMemoryCheck);
139
140     virtual 
141     Storable* 
142     Create(const std::string& theMeshName, 
143            VISU::Entity theEntity,
144            const std::string& theFieldName, 
145            CORBA::Long theTimeStampNumber);
146
147     virtual
148     void
149     ToStream (std::ostringstream& theStr);
150
151     virtual
152     Storable* 
153     Restore(SALOMEDS::SObject_ptr theSObject,
154             const Storable::TRestoringMap& theMap);
155
156     virtual 
157     VISU_Actor* 
158     CreateActor();
159
160     static const std::string myComment;
161
162     virtual
163     const char* 
164     GetComment() const;
165
166     virtual
167     QString
168     GenerateName();
169
170     virtual
171     const char* 
172     GetIconName();
173     
174     void
175     SetMapScale(double theMapScale);
176   };
177 }
178
179 #endif