]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_I/VISU_Plot3D_i.hh
Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/visu.git] / src / VISU_I / VISU_Plot3D_i.hh
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library is distributed in the hope that it will be useful 
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 //
20
21 #ifndef VISU_Plot3D_i_HeaderFile
22 #define VISU_Plot3D_i_HeaderFile
23
24 #include "VISU_ScalarMap_i.hh"
25
26 class VISU_Plot3DPL;
27
28 namespace VISU 
29 {
30   //----------------------------------------------------------------------------
31   class VISU_I_EXPORT Plot3D_i : public virtual POA_VISU::Plot3D,
32                                  public virtual ScalarMap_i
33   {
34     static int myNbPresent;
35     Plot3D_i(const Plot3D_i&);
36
37   public:
38     //----------------------------------------------------------------------------
39     typedef ScalarMap_i TSuperClass;
40     typedef VISU::Plot3D TInterface;
41
42     explicit
43     Plot3D_i(EPublishInStudyMode thePublishInStudyModep);
44
45     virtual 
46     ~Plot3D_i();
47
48     virtual 
49     VISU::VISUType 
50     GetType() 
51     { 
52       return VISU::TPLOT3D; 
53     }
54
55     virtual
56     void
57     SetOrientation (VISU::Plot3D::Orientation theOrient,
58                     CORBA::Double theXAngle, 
59                     CORBA::Double theYAngle);
60
61     virtual 
62     VISU::Plot3D::Orientation 
63     GetOrientationType();
64
65     virtual 
66     CORBA::Double 
67     GetRotateX();
68
69     virtual
70     CORBA::Double 
71     GetRotateY();
72
73     virtual
74     void
75     SetPlanePosition(CORBA::Double  thePlanePosition,
76                      CORBA::Boolean theIsRelative);
77
78     virtual
79     CORBA::Double 
80     GetPlanePosition();
81
82     virtual
83     CORBA::Boolean
84     IsPositionRelative();
85
86     virtual
87     void
88     SetScaleFactor(CORBA::Double theScaleFactor);
89
90     virtual
91     CORBA::Double
92     GetScaleFactor();
93
94     virtual
95     void
96     SetContourPrs(CORBA::Boolean theIsContourPrs);
97
98     CORBA::Boolean 
99     GetIsContourPrs();
100
101     virtual
102     void
103     SetNbOfContours(CORBA::Long theNb);
104
105     virtual
106     CORBA::Long
107     GetNbOfContours();
108
109     VISU_Plot3DPL* 
110     GetSpecificPL() const
111     { 
112       return myPlot3DPL; 
113     }
114     
115   protected:
116     //! Redefines VISU_ColoredPrs3d_i::CreatePipeLine
117     virtual 
118     void 
119     CreatePipeLine(VISU_PipeLine* thePipeLine);
120
121     //! Redefines VISU_ColoredPrs3d_i::CheckIsPossible
122     virtual 
123     bool 
124     CheckIsPossible();
125
126     VISU_Plot3DPL *myPlot3DPL;
127
128   public:
129     static
130     size_t
131     IsPossible(Result_i* theResult, 
132                const std::string& theMeshName, 
133                VISU::Entity theEntity,
134                const std::string& theFieldName, 
135                CORBA::Long theTimeStampNumber,
136                bool theIsMemoryCheck);
137
138     virtual 
139     Storable* 
140     Create(const std::string& theMeshName, 
141            VISU::Entity theEntity,
142            const std::string& theFieldName, 
143            CORBA::Long theTimeStampNumber);
144
145     virtual
146     void
147     ToStream (std::ostringstream& theStr);
148
149     virtual
150     Storable* 
151     Restore(SALOMEDS::SObject_ptr theSObject,
152             const Storable::TRestoringMap& theMap);
153
154     virtual 
155     VISU_Actor* 
156     CreateActor();
157
158     static const std::string myComment;
159
160     virtual
161     const char* 
162     GetComment() const;
163
164     virtual
165     QString
166     GenerateName();
167
168     virtual
169     const char* 
170     GetIconName();
171     
172     void
173     SetMapScale(double theMapScale);
174   };
175 }
176
177 #endif