summaryrefslogtreecommitdiff
path: root/inc/TPrsStd_AISPresentation.hxx
blob: 22dbbd92279dbb20acf5e081f901a60d76a08d96 (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 _TPrsStd_AISPresentation_HeaderFile
#define _TPrsStd_AISPresentation_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_TPrsStd_AISPresentation_HeaderFile
#include <Handle_TPrsStd_AISPresentation.hxx>
#endif

#ifndef _Standard_GUID_HeaderFile
#include <Standard_GUID.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Quantity_NameOfColor_HeaderFile
#include <Quantity_NameOfColor.hxx>
#endif
#ifndef _Graphic3d_NameOfMaterial_HeaderFile
#include <Graphic3d_NameOfMaterial.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_AIS_InteractiveObject_HeaderFile
#include <Handle_AIS_InteractiveObject.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Handle_TDF_AttributeDelta_HeaderFile
#include <Handle_TDF_AttributeDelta.hxx>
#endif
class AIS_InteractiveObject;
class Standard_GUID;
class TDF_Label;
class TDF_Attribute;
class TDF_RelocationTable;
class TDF_AttributeDelta;


//! An attribute to associate an <br>
//! AIS_InteractiveObject to a label in an AIS viewer. <br>
//! This attribute works in collaboration with TPrsStd_AISViewer. <br>
//! Note that all the Set... and Unset... attribute <br>
//! methods as well as the query methods for <br>
//! visualization attributes and the HasOwn... test <br>
//! methods are shortcuts to the respective <br>
//! AIS_InteractiveObject settings. <br>
class TPrsStd_AISPresentation : public TDF_Attribute {

public:

  //! Returns the GUID for TPrsStd_AISPresentation attributes. <br>
  Standard_EXPORT   static const Standard_GUID& GetID() ;
  //! Creates or retrieves the presentation attribute on <br>
//! the label L, and sets the GUID driver. <br>
  Standard_EXPORT   static  Handle_TPrsStd_AISPresentation Set(const TDF_Label& L,const Standard_GUID& driver) ;
  //! Delete (if exist) the presentation attribute associated to the label <L>. <br>
  Standard_EXPORT   static  void Unset(const TDF_Label& L) ;
  //!  Creates or retrieves the AISPresentation <br>
//! attribute attached to master. <br>
//! The GUID of the driver will be the GUID of master. <br>
//! master is the attribute you want to display. <br>
  Standard_EXPORT   static  Handle_TPrsStd_AISPresentation Set(const Handle(TDF_Attribute)& master) ;
  
  Standard_EXPORT   TPrsStd_AISPresentation();
  
  Standard_EXPORT     void SetDisplayed(const Standard_Boolean B) ;
  //! Display presentation of object in AIS viewer. <br>
//!          If <update> = True then AISObject is recomputed and all <br>
//!          the visualization settings are applied <br>
  Standard_EXPORT     void Display(const Standard_Boolean update = Standard_False) ;
  //! Removes the presentation of this AIS <br>
//! presentation attribute from the TPrsStd_AISViewer. <br>
//! If remove is true, this AIS presentation attribute <br>
//! is removed from the interactive context. <br>
  Standard_EXPORT     void Erase(const Standard_Boolean remove = Standard_False) ;
  //! Recompute presentation of object and apply the visualization settings <br>
  Standard_EXPORT     void Update() ;
  
  Standard_EXPORT     Standard_GUID GetDriverGUID() const;
  
  Standard_EXPORT     void SetDriverGUID(const Standard_GUID& guid) ;
  
//! Returns true if this AIS presentation attribute is displayed. <br>
  Standard_EXPORT     Standard_Boolean IsDisplayed() const;
  //! Returns AIS_InteractiveObject stored in the presentation attribute <br>
  Standard_EXPORT     Handle_AIS_InteractiveObject GetAIS() const;
  
//! Returns the material setting for this presentation attribute. <br>
  Standard_EXPORT     Graphic3d_NameOfMaterial Material() const;
  //!        Sets the material aName for this presentation  attribute. <br>
  Standard_EXPORT     void SetMaterial(const Graphic3d_NameOfMaterial aName) ;
  //! Returns true if this presentation attribute already has a material setting. <br>
  Standard_EXPORT     Standard_Boolean HasOwnMaterial() const;
  //! Removes the material setting from this presentation attribute. <br>
  Standard_EXPORT     void UnsetMaterial() ;
  
//! Sets the transparency value aValue for this <br>
//! presentation attribute. <br>
//! This value is 0.6 by default. <br>
  Standard_EXPORT     void SetTransparency(const Standard_Real aValue = 0.6) ;
  
  Standard_EXPORT     Standard_Real Transparency() const;
  //! Returns true if this presentation attribute already has a transparency setting. <br>
  Standard_EXPORT     Standard_Boolean HasOwnTransparency() const;
  //! Removes the transparency setting from this presentation attribute. <br>
  Standard_EXPORT     void UnsetTransparency() ;
  
  Standard_EXPORT     Quantity_NameOfColor Color() const;
  //! Sets the color aColor for this presentation attribute. <br>
  Standard_EXPORT     void SetColor(const Quantity_NameOfColor aColor) ;
  //! Returns true if this presentation attribute already has a color setting. <br>
  Standard_EXPORT     Standard_Boolean HasOwnColor() const;
  //! Removes the color setting from this presentation attribute. <br>
  Standard_EXPORT     void UnsetColor() ;
  
  Standard_EXPORT     Standard_Real Width() const;
  //! Sets the width aWidth for this presentation attribute. <br>
  Standard_EXPORT     void SetWidth(const Standard_Real aWidth) ;
  //! Returns true if this presentation attribute already has a width setting. <br>
  Standard_EXPORT     Standard_Boolean HasOwnWidth() const;
  //! Removes the width setting from this presentation attribute. <br>
  Standard_EXPORT     void UnsetWidth() ;
  
  Standard_EXPORT     Standard_Integer Mode() const;
  
  Standard_EXPORT     void SetMode(const Standard_Integer theMode) ;
  
  Standard_EXPORT     Standard_Boolean HasOwnMode() const;
  
  Standard_EXPORT     void UnsetMode() ;
  
  Standard_EXPORT     Standard_Integer SelectionMode() const;
  
  Standard_EXPORT     void SetSelectionMode(const Standard_Integer theSelectionMode) ;
  
  Standard_EXPORT     Standard_Boolean HasOwnSelectionMode() const;
  
  Standard_EXPORT     void UnsetSelectionMode() ;
  
  Standard_EXPORT    const Standard_GUID& ID() const;
  
  Standard_EXPORT     Handle_TDF_Attribute NewEmpty() const;
  
  Standard_EXPORT     void Restore(const Handle(TDF_Attribute)& with) ;
  
  Standard_EXPORT     void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
  
  Standard_EXPORT   virtual  Handle_TDF_Attribute BackupCopy() const;
  
  Standard_EXPORT   virtual  void AfterAddition() ;
  
  Standard_EXPORT   virtual  void BeforeRemoval() ;
  
  Standard_EXPORT   virtual  void BeforeForget() ;
  
  Standard_EXPORT   virtual  void AfterResume() ;
  
  Standard_EXPORT   virtual  Standard_Boolean BeforeUndo(const Handle(TDF_AttributeDelta)& anAttDelta,const Standard_Boolean forceIt = Standard_False) ;
  //! update AIS viewer according to delta <br>
  Standard_EXPORT   virtual  Standard_Boolean AfterUndo(const Handle(TDF_AttributeDelta)& anAttDelta,const Standard_Boolean forceIt = Standard_False) ;




  DEFINE_STANDARD_RTTI(TPrsStd_AISPresentation)

protected:




private: 

  //! Updates AIS_InteractiveObject stored in the attribute <br>
//!          and applies the visualization settings <br>
  Standard_EXPORT     void AISUpdate() ;
  //! Displays AIS_InteractiveObject stored in the attribute <br>
  Standard_EXPORT     void AISDisplay() ;
  //! Erases AIS_InteractiveObject stored in the attribute in <br>
//!          the viewer; If <remove> = True then AISObject is removed <br>
//!          from AIS_InteractiveContext instead of simple erasing in the viewer <br>
  Standard_EXPORT     void AISErase(const Standard_Boolean remove = Standard_False) ;

Standard_GUID myDriverGUID;
Standard_Real myTransparency;
Quantity_NameOfColor myColor;
Graphic3d_NameOfMaterial myMaterial;
Standard_Real myWidth;
Standard_Integer myMode;
Standard_Integer mySelectionMode;
Standard_Boolean isDisplayed;
Standard_Boolean hasOwnColor;
Standard_Boolean hasOwnMaterial;
Standard_Boolean hasOwnTransparency;
Standard_Boolean hasOwnWidth;
Standard_Boolean hasOwnMode;
Standard_Boolean hasOwnSelectionMode;
Handle_AIS_InteractiveObject myAIS;


};





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


#endif