Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SALOME GUI Developer
Todo List
Namespaces
Classes
Files
File List
idl
src
CAF
CAM
CASCatch
DDS
Event
GLViewer
GraphicsView
GuiHelpers
HelpBrowser
ImageComposer
LightApp
LogWindow
ObjBrowser
OBJECT
OCCViewer
OpenGLUtils
Plot2d
Prs
SALOME_Prs.cxx
SALOME_Prs.h
PVServerService
PVViewer
PyViewer
QDS
Qtx
QxScene
SALOME_PY
SALOME_PYQT
SALOME_SWIG
SalomeApp
Session
SOCC
SPlot2d
STD
Style
SUIT
SUITApp
SVTK
TOOLSGUI
TreeData
ViewerData
ViewerTools
VTKViewer
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SALOME_Prs.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 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, or (at your option) any later version.
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 SALOME_PRS_H
24
#define SALOME_PRS_H
25
26
#ifdef WIN32
27
#if defined PRS_EXPORTS || defined SalomePrs_EXPORTS
28
#define PRS_EXPORT __declspec(dllexport)
29
#else
30
#define PRS_EXPORT __declspec(dllimport)
31
#endif
32
#else
33
#define PRS_EXPORT
34
#endif
35
36
#include <string>
37
#include <list>
38
39
#include <Basics_OCCTVersion.hxx>
40
41
class
SALOME_View
;
42
class
SALOME_Displayer
;
43
class
SALOME_ListIO
;
44
#if OCC_VERSION_MAJOR >= 7
45
class
SALOME_InteractiveObject
;
46
#else
47
class
Handle_SALOME_InteractiveObject;
48
#endif
49
56
class
PRS_EXPORT
SALOME_Prs
57
{
58
public
:
60
explicit
SALOME_Prs
(
const
char
* );
61
63
virtual
~SALOME_Prs
() {}
64
66
const
char
* GetEntry()
const
;
67
69
virtual
void
DisplayIn(
SALOME_View
* )
const
= 0;
70
72
virtual
void
EraseIn(
SALOME_View
*,
const
bool
=
false
)
const
= 0;
73
75
virtual
void
BeforeDisplayIn(
SALOME_Displayer
*,
SALOME_View
* )
const
= 0;
76
78
virtual
void
AfterDisplayIn(
SALOME_Displayer
*,
SALOME_View
* )
const
= 0;
79
81
virtual
void
BeforeEraseIn(
SALOME_Displayer
*,
SALOME_View
* )
const
= 0;
82
84
virtual
void
AfterEraseIn(
SALOME_Displayer
*,
SALOME_View
* )
const
= 0;
85
87
virtual
void
Update(
SALOME_Displayer
* ) = 0;
88
90
virtual
bool
IsNull()
const
= 0;
91
93
virtual
void
LocalSelectionIn(
SALOME_View
*,
const
int
)
const
= 0;
94
virtual
void
LocalSelectionIn(
SALOME_View
*,
const
std::list<int> )
const
;
95
96
// checks if shape is clippable
97
inline
bool
IsClippable()
const
98
{
99
return
myIsClippable;
100
}
101
102
// makes shape clippable/not clippable
103
inline
void
SetClippable (
bool
isClippable)
104
{
105
myIsClippable = isClippable;
106
}
107
108
protected
:
109
std::string
myEntry
;
110
bool
myIsClippable
;
111
};
112
119
class
PRS_EXPORT
SALOME_OCCPrs
:
public
SALOME_Prs
120
{
121
public
:
123
explicit
SALOME_OCCPrs
(
const
char
* e) :
SALOME_Prs
(e) {}
124
127
virtual
void
DisplayIn
(
SALOME_View
* )
const
;
128
131
virtual
void
EraseIn
(
SALOME_View
*,
const
bool
=
false
)
const
;
132
135
virtual
void
BeforeDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
136
139
virtual
void
AfterDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
140
143
virtual
void
BeforeEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
144
147
virtual
void
AfterEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
148
151
virtual
void
Update
(
SALOME_Displayer
* );
152
154
virtual
void
LocalSelectionIn
(
SALOME_View
*,
const
int
)
const
;
155
virtual
void
LocalSelectionIn
(
SALOME_View
*,
const
std::list<int> )
const
;
156
};
157
163
class
PRS_EXPORT
SALOME_VTKPrs
:
public
SALOME_Prs
164
{
165
public
:
167
explicit
SALOME_VTKPrs
(
const
char
* e) :
SALOME_Prs
(e) {}
168
171
virtual
void
DisplayIn
(
SALOME_View
* )
const
;
172
175
virtual
void
EraseIn
(
SALOME_View
*,
const
bool
=
false
)
const
;
176
179
virtual
void
BeforeDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
180
183
virtual
void
AfterDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
184
187
virtual
void
BeforeEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
188
191
virtual
void
AfterEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
192
195
virtual
void
Update
(
SALOME_Displayer
* );
196
198
virtual
void
LocalSelectionIn
(
SALOME_View
*,
const
int
)
const
;
199
};
200
205
class
PRS_EXPORT
SALOME_Prs2d
:
public
SALOME_Prs
206
{
207
public
:
209
explicit
SALOME_Prs2d
(
const
char
* e) :
SALOME_Prs
(e) {}
210
213
virtual
void
DisplayIn
(
SALOME_View
* )
const
;
214
217
virtual
void
EraseIn
(
SALOME_View
*,
const
bool
=
false
)
const
;
218
221
virtual
void
BeforeDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
222
225
virtual
void
AfterDisplayIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
226
229
virtual
void
BeforeEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
230
233
virtual
void
AfterEraseIn
(
SALOME_Displayer
*,
SALOME_View
* )
const
;
234
237
virtual
void
Update
(
SALOME_Displayer
* );
238
240
virtual
void
LocalSelectionIn
(
SALOME_View
*,
const
int
)
const
;
241
};
242
250
class
PRS_EXPORT
SALOME_View
251
{
252
public
:
254
virtual
~SALOME_View
() {}
255
259
void
Display(
SALOME_Displayer
*,
const
SALOME_Prs
* );
260
264
void
Erase(
SALOME_Displayer
*,
const
SALOME_Prs
*,
const
bool
=
false
);
265
268
virtual
void
EraseAll(
SALOME_Displayer
*,
const
bool
=
false
);
269
273
void
LocalSelection(
const
SALOME_Prs
*,
const
int
);
274
void
LocalSelection(
const
SALOME_Prs
*,
const
std::list<int> );
275
276
// Interface for derived views
277
278
// Display() methods for ALL kinds of presentation should appear here
279
virtual
void
Display(
const
SALOME_OCCPrs
* );
280
virtual
void
Display(
const
SALOME_VTKPrs
* );
281
virtual
void
Display(
const
SALOME_Prs2d
* );
282
// Add new Display() methods here...
283
284
// Erase() methods for ALL kinds of presentation should appear here
285
virtual
void
Erase(
const
SALOME_OCCPrs
*,
const
bool
=
false
);
286
virtual
void
Erase(
const
SALOME_VTKPrs
*,
const
bool
=
false
);
287
virtual
void
Erase(
const
SALOME_Prs2d
*,
const
bool
=
false
);
288
// Add new Erase() methods here...
289
290
// LocalSelection() methods for ALL kinds of presentation should appear here
291
virtual
void
LocalSelection(
const
SALOME_OCCPrs
*,
const
int
);
292
virtual
void
LocalSelection(
const
SALOME_OCCPrs
*,
const
std::list<int> );
293
virtual
void
LocalSelection(
const
SALOME_VTKPrs
*,
const
int
);
294
virtual
void
LocalSelection(
const
SALOME_Prs2d
* ,
const
int
);
295
297
virtual
void
GlobalSelection(
const
bool
=
false
)
const
;
298
300
virtual
SALOME_Prs
*
CreatePrs
(
const
char
*
/*entry*/
= 0 ) {
return
0; }
301
302
// Axiluary methods called before and after displaying of objects
303
virtual
void
BeforeDisplay(
SALOME_Displayer
*,
const
SALOME_Prs
* );
304
virtual
void
AfterDisplay (
SALOME_Displayer
*,
const
SALOME_Prs
* );
305
306
// Axiluary methods called before and after erasing of objects
307
virtual
void
BeforeErase(
SALOME_Displayer
*,
const
SALOME_Prs
* );
308
virtual
void
AfterErase (
SALOME_Displayer
*,
const
SALOME_Prs
* );
309
310
// New methods (asv)
312
virtual
bool
isVisible
(
const
Handle
(
SALOME_InteractiveObject
)& ){
return
false
; }
313
virtual
void
Repaint
() {}
314
virtual
void
GetVisible
(
SALOME_ListIO
& theList ) {}
315
};
316
321
class
PRS_EXPORT
SALOME_Displayer
322
{
323
public
:
325
virtual
~SALOME_Displayer
() {}
326
330
void
UpdatePrs(
SALOME_Prs
* );
331
332
// Interface for derived displayers
333
334
// Update() methods for ALL kinds of presentation should appear here
335
virtual
void
Update(
SALOME_OCCPrs
* );
336
virtual
void
Update(
SALOME_VTKPrs
* );
337
virtual
void
Update(
SALOME_Prs2d
* );
338
// Add new Update() methods here...
339
340
// Axiluary methods called before and after displaying of objects
341
virtual
void
BeforeDisplay
(
SALOME_View
*,
const
SALOME_OCCPrs
* ) {}
342
virtual
void
AfterDisplay
(
SALOME_View
*,
const
SALOME_OCCPrs
* ) {}
343
virtual
void
BeforeDisplay
(
SALOME_View
*,
const
SALOME_VTKPrs
* ) {}
344
virtual
void
AfterDisplay
(
SALOME_View
*,
const
SALOME_VTKPrs
* ) {}
345
virtual
void
BeforeDisplay
(
SALOME_View
*,
const
SALOME_Prs2d
* ) {}
346
virtual
void
AfterDisplay
(
SALOME_View
*,
const
SALOME_Prs2d
* ) {}
347
348
// Axiluary methods called before and after erasing of objects
349
virtual
void
BeforeErase
(
SALOME_View
*,
const
SALOME_OCCPrs
* ) {}
350
virtual
void
AfterErase
(
SALOME_View
*,
const
SALOME_OCCPrs
* ) {}
351
virtual
void
BeforeErase
(
SALOME_View
*,
const
SALOME_VTKPrs
* ) {}
352
virtual
void
AfterErase
(
SALOME_View
*,
const
SALOME_VTKPrs
* ) {}
353
virtual
void
BeforeErase
(
SALOME_View
*,
const
SALOME_Prs2d
* ) {}
354
virtual
void
AfterErase
(
SALOME_View
*,
const
SALOME_Prs2d
* ) {}
355
356
// Axiluary method called to update visibility state of presentation
357
virtual
void
UpdateVisibility(
SALOME_View
*,
const
SALOME_Prs
*,
bool
);
358
};
359
360
#endif
src
Prs
SALOME_Prs.h
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS