summaryrefslogtreecommitdiff
path: root/inc/Graphic3d_StructureManager.hxx
blob: 6a07013ed4b3f1e0e7a07044356deb22a2775988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Graphic3d_StructureManager_HeaderFile
#define _Graphic3d_StructureManager_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Graphic3d_StructureManager_HeaderFile
#include <Handle_Graphic3d_StructureManager.hxx>
#endif

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Aspect_TypeOfUpdate_HeaderFile
#include <Aspect_TypeOfUpdate.hxx>
#endif
#ifndef _Handle_Graphic3d_AspectLine3d_HeaderFile
#include <Handle_Graphic3d_AspectLine3d.hxx>
#endif
#ifndef _Handle_Graphic3d_AspectText3d_HeaderFile
#include <Handle_Graphic3d_AspectText3d.hxx>
#endif
#ifndef _Handle_Graphic3d_AspectMarker3d_HeaderFile
#include <Handle_Graphic3d_AspectMarker3d.hxx>
#endif
#ifndef _Handle_Graphic3d_AspectFillArea3d_HeaderFile
#include <Handle_Graphic3d_AspectFillArea3d.hxx>
#endif
#ifndef _Graphic3d_MapOfStructure_HeaderFile
#include <Graphic3d_MapOfStructure.hxx>
#endif
#ifndef _Aspect_GenId_HeaderFile
#include <Aspect_GenId.hxx>
#endif
#ifndef _Handle_Aspect_GraphicDevice_HeaderFile
#include <Handle_Aspect_GraphicDevice.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_Graphic3d_Structure_HeaderFile
#include <Handle_Graphic3d_Structure.hxx>
#endif
#ifndef _Handle_Graphic3d_DataStructureManager_HeaderFile
#include <Handle_Graphic3d_DataStructureManager.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Aspect_TypeOfHighlightMethod_HeaderFile
#include <Aspect_TypeOfHighlightMethod.hxx>
#endif
class Graphic3d_AspectLine3d;
class Graphic3d_AspectText3d;
class Graphic3d_AspectMarker3d;
class Graphic3d_AspectFillArea3d;
class Aspect_GraphicDevice;
class Graphic3d_InitialisationError;
class Graphic3d_Structure;
class Graphic3d_MapOfStructure;
class Graphic3d_DataStructureManager;
class TColStd_Array2OfReal;


//! This class allows the definition of a manager to <br>
//!	    which the graphic objects are associated. <br>
//!	    It allows them to be globally manipulated. <br>
//!	    It defines the global attributes. <br>
//!  Keywords: Structure, Structure Manager, Update Mode, <br>
//!     Destroy, Highlight, Visible, Detectable <br>
class Graphic3d_StructureManager : public MMgt_TShared {

public:

  //! Deletes the manager <me>. <br>
  Standard_EXPORT   virtual  void Destroy() ;
~Graphic3d_StructureManager()
{
  Destroy();
}
  //! Modifies the default attributes for lines <br>
//!	    in the visualiser. <br>
  Standard_EXPORT     void SetPrimitivesAspect(const Handle(Graphic3d_AspectLine3d)& CTX) ;
  //! Modifies the default attributes for faces <br>
//!	    in the visualiser. <br>
  Standard_EXPORT     void SetPrimitivesAspect(const Handle(Graphic3d_AspectFillArea3d)& CTX) ;
  //! Modifies the default attributes for text <br>
//!	    in the visualiser. <br>
  Standard_EXPORT     void SetPrimitivesAspect(const Handle(Graphic3d_AspectText3d)& CTX) ;
  //! Modifies the default attributes for markers <br>
//!	    in the visualiser. <br>
  Standard_EXPORT     void SetPrimitivesAspect(const Handle(Graphic3d_AspectMarker3d)& CTX) ;
  //! Modifies the screen update mode. <br>
  Standard_EXPORT     void SetUpdateMode(const Aspect_TypeOfUpdate AType) ;
  //! Updates screen in function of modifications of <br>
//!	    the structures. <br>
//! Warning: Not necessary if the update mode is TOU_ASAP. <br>
  Standard_EXPORT   virtual  void Update() const = 0;
  //! Returns the set of structures displayed in <br>
//!	    visualiser <me>. <br>
  Standard_EXPORT     void DisplayedStructures(Graphic3d_MapOfStructure& SG) const;
  //! Returns the set of highlighted structures <br>
//!	    in a visualiser <me>. <br>
  Standard_EXPORT     void HighlightedStructures(Graphic3d_MapOfStructure& SG) const;
  //! Returns the set of detectable structures <br>
//!	    in a visualiser <me>. <br>
  Standard_EXPORT     void PickStructures(Graphic3d_MapOfStructure& SG) const;
  //! Returns the set of visible structures <br>
//!	    in a visualiser <me>. <br>
  Standard_EXPORT     void VisibleStructures(Graphic3d_MapOfStructure& SG) const;
  //! Returns the values of the current default attributes. <br>
  Standard_EXPORT     Handle_Graphic3d_AspectFillArea3d FillArea3dAspect() const;
  //! Returns maximum number of managers defineable. <br>
  Standard_EXPORT   static  Standard_Integer Limit() ;
  //! Returns the values of the current default attributes. <br>
  Standard_EXPORT     Handle_Graphic3d_AspectLine3d Line3dAspect() const;
  //! Returns the values of the current default attributes. <br>
  Standard_EXPORT     Handle_Graphic3d_AspectMarker3d Marker3dAspect() const;
  //! Returns the coordinates of the boundary box of all <br>
//!	    structures displayed in the manager <me>. <br>
  Standard_EXPORT     void MinMaxValues(Standard_Real& XMin,Standard_Real& YMin,Standard_Real& ZMin,Standard_Real& XMax,Standard_Real& YMax,Standard_Real& ZMax) const;
  //! Returns the values of the current default attributes. <br>
  Standard_EXPORT     void PrimitivesAspect(Handle(Graphic3d_AspectLine3d)& CTXL,Handle(Graphic3d_AspectText3d)& CTXT,Handle(Graphic3d_AspectMarker3d)& CTXM,Handle(Graphic3d_AspectFillArea3d)& CTXF) const;
  //! Returns the values of the current default attributes. <br>
  Standard_EXPORT     Handle_Graphic3d_AspectText3d Text3dAspect() const;
  //! Returns the screen update mode. <br>
  Standard_EXPORT     Aspect_TypeOfUpdate UpdateMode() const;
  //! Changes the display priority of the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void ChangeDisplayPriority(const Handle(Graphic3d_Structure)& AStructure,const Standard_Integer OldPriority,const Standard_Integer NewPriority)  = 0;
  //! Returns a current identifier available. <br>
  Standard_EXPORT   static  Standard_Integer CurrentId() ;
  //! Forces a new construction of the structure <AStructure> <br>
//!	    if <AStructure> is displayed and TOS_COMPUTED. <br>
  Standard_EXPORT   virtual  void ReCompute(const Handle(Graphic3d_Structure)& AStructure)  = 0;
  //! Forces a new construction of the structure <AStructure> <br>
//!	    if <AStructure> is displayed in <AProjector> and TOS_COMPUTED. <br>
  Standard_EXPORT   virtual  void ReCompute(const Handle(Graphic3d_Structure)& AStructure,const Handle(Graphic3d_DataStructureManager)& AProjector)  = 0;
  //! Clears the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void Clear(const Handle(Graphic3d_Structure)& AStructure,const Standard_Boolean WithDestruction)  = 0;
  //! Connects the structures <AMother> and <ADaughter>. <br>
  Standard_EXPORT   virtual  void Connect(const Handle(Graphic3d_Structure)& AMother,const Handle(Graphic3d_Structure)& ADaughter)  = 0;
  //! Disconnects the structures <AMother> and <ADaughter>. <br>
  Standard_EXPORT   virtual  void Disconnect(const Handle(Graphic3d_Structure)& AMother,const Handle(Graphic3d_Structure)& ADaughter)  = 0;
  //! Display the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void Display(const Handle(Graphic3d_Structure)& AStructure)  = 0;
  //! Erases the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void Erase(const Handle(Graphic3d_Structure)& AStructure)  = 0;
  //! Highlights the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void Highlight(const Handle(Graphic3d_Structure)& AStructure,const Aspect_TypeOfHighlightMethod AMethod)  = 0;
  //! Transforms the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void SetTransform(const Handle(Graphic3d_Structure)& AStructure,const TColStd_Array2OfReal& ATrsf)  = 0;
  //! Returns the graphic device of <me>. <br>
  Standard_EXPORT     Handle_Aspect_GraphicDevice GraphicDevice() const;
  //! Returns the identification number of the manager. <br>
  Standard_EXPORT   virtual  Standard_Integer Identification() const;
  //! Returns the structure with the identification number <AId>. <br>
  Standard_EXPORT   virtual  Handle_Graphic3d_Structure Identification(const Standard_Integer AId) const;
  //! Suppresses the highlighting on all the structures in <me>. <br>
  Standard_EXPORT   virtual  void UnHighlight()  = 0;
  //! Suppress the highlighting on the structure <AStructure>. <br>
  Standard_EXPORT   virtual  void UnHighlight(const Handle(Graphic3d_Structure)& AStructure)  = 0;

friend class Graphic3d_Structure;


  DEFINE_STANDARD_RTTI(Graphic3d_StructureManager)

protected:

  //! Initialise the constructor of the ViewManager. <br>
//!  Warning: Raises InitialisationError if the initialisation <br>
//!	    of the ViewManager failed. <br>
  Standard_EXPORT   Graphic3d_StructureManager(const Handle(Aspect_GraphicDevice)& aDevice);
  //! Returns the number of structures displayed in <br>
//!	    visualiser <me>. <br>//! Returns the structure displayed in visualiser <me>. <br>
  Standard_EXPORT     Standard_Integer NumberOfDisplayedStructures() const;

Standard_Integer MyId;
Aspect_TypeOfUpdate MyUpdateMode;
Handle_Graphic3d_AspectLine3d MyAspectLine3d;
Handle_Graphic3d_AspectText3d MyAspectText3d;
Handle_Graphic3d_AspectMarker3d MyAspectMarker3d;
Handle_Graphic3d_AspectFillArea3d MyAspectFillArea3d;
Graphic3d_MapOfStructure MyDisplayedStructure;
Graphic3d_MapOfStructure MyHighlightedStructure;
Graphic3d_MapOfStructure MyVisibleStructure;
Graphic3d_MapOfStructure MyPickStructure;
Aspect_GenId MyStructGenId;
Handle_Aspect_GraphicDevice MyGraphicDevice;


private: 

  //! Sets detectable the structure <AStructure>. <br>
  Standard_EXPORT     void Detectable(const Handle(Graphic3d_Structure)& AStructure) ;
  //! Sets invisible the structure <AStructure>. <br>
  Standard_EXPORT     void Invisible(const Handle(Graphic3d_Structure)& AStructure) ;
  //! Returns a new identification number for a new structure <br>
//!	    in the manager. <br>
  Standard_EXPORT     Standard_Integer NewIdentification() ;
  //! Frees the identifieur <AnId>. <br>
  Standard_EXPORT     void Remove(const Standard_Integer AnId) ;
  //! Sets no detectable the structure <AStructure>. <br>
  Standard_EXPORT     void Undetectable(const Handle(Graphic3d_Structure)& AStructure) ;
  //! Sets visible the structure <AStructure>. <br>
//!	    in the manager. <br>
  Standard_EXPORT     void Visible(const Handle(Graphic3d_Structure)& AStructure) ;



};





// other Inline functions and methods (like "C++: function call" methods)


#endif