summaryrefslogtreecommitdiff
path: root/inc/PrsMgr_PresentationManager.hxx
blob: 364adb457fb6fffbae61f514e036cba14beeeca6 (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
// 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 _PrsMgr_PresentationManager_HeaderFile
#define _PrsMgr_PresentationManager_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_PrsMgr_PresentationManager_HeaderFile
#include <Handle_PrsMgr_PresentationManager.hxx>
#endif

#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TColStd_ListOfTransient_HeaderFile
#include <TColStd_ListOfTransient.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Handle_PrsMgr_PresentableObject_HeaderFile
#include <Handle_PrsMgr_PresentableObject.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Viewer_View_HeaderFile
#include <Handle_Viewer_View.hxx>
#endif
#ifndef _Handle_PrsMgr_Presentation_HeaderFile
#include <Handle_PrsMgr_Presentation.hxx>
#endif
class Standard_NoSuchObject;
class PrsMgr_PresentableObject;
class Viewer_View;
class PrsMgr_Presentation;


//! This class represents any kind of entity able to collect <br>
//!          representations of an object, to show or erase them. <br>
//!          Example: StructureManager from Graphic3d <br>
//!                   View from Graphic2d <br>
class PrsMgr_PresentationManager : public MMgt_TShared {

public:

  
  Standard_EXPORT   virtual  Standard_Boolean Is3D() const = 0;
  //! Displays the presentation of the object in the given <br>
//!          Presentation manager with the given mode. <br>
//!          The mode should be enumerated by the object which <br>
//!          inherits PresentableObject. <br>
  Standard_EXPORT     void Display(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //! erases the presentation of the object in the given <br>
//!          Presentation manager with the given mode. <br>
  Standard_EXPORT     void Erase(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  
//! Clears the presentation of the presentable object <br>
//! aPresentableObject in this framework with the <br>
//! display mode aMode. <br>
  Standard_EXPORT   virtual  void Clear(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //! Highlights the presentation of the presentable object <br>
//! aPresentableObject in this framework with the display mode aMode. <br>
  Standard_EXPORT     void Highlight(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //! Removes highlighting from the presentation of the <br>
//! presentable object aPresentableObject in this <br>
//! framework with the display mode aMode. <br>
  Standard_EXPORT     void Unhighlight(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  
//! Sets the display priority aNewPrior   of the <br>
//! presentable object aPresentableObject in this <br>
//! framework with the display mode aMode. <br>
  Standard_EXPORT     void SetDisplayPriority(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer amode,const Standard_Integer aNewPrior) const;
  
//! Returns the display priority of the presentable object <br>
//! aPresentableObject in this framework with the <br>
//! display mode aMode. <br>
  Standard_EXPORT     Standard_Integer DisplayPriority(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer amode) const;
  //! Returns true if the presentation of the presentable <br>
//! object aPresentableObject in this framework with the <br>
//! display mode aMode is displayed. <br>
  Standard_EXPORT     Standard_Boolean IsDisplayed(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) const;
  //! Returns true if the presentation of the presentable <br>
//! object aPresentableObject in this framework with the <br>
//! display mode aMode is highlighted. <br>
  Standard_EXPORT     Standard_Boolean IsHighlighted(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) const;
  //! Updates the presentation of the presentable object <br>
//! aPresentableObject in this framework with the display mode aMode. <br>
  Standard_EXPORT     void Update(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) const;
  //! initializes the list of Prs to be displayed in transient mode <br>
  Standard_EXPORT   virtual  void BeginDraw() ;
  //! Performs an iteration of the transient objects to look <br>
//! for the presentable objects with the display mode aMode. <br>
//! Appends the presentation of the presentable object <br>
//! aPresentableObject with the mode aMode to the list <br>
//! of objects in immediate mode. <br>
  Standard_EXPORT     void Add(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //! Performs an iteration of the transient objects to look <br>
//! for the presentable objects with the display mode aMode. <br>
//! Removes the presentation of the presentable object <br>
//! aPresentableObject with the mode aMode from the <br>
//! list of objects in immediate mode. <br>
  Standard_EXPORT     void Remove(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //!  Allows rapid drawing of the view aView by avoiding <br>
//! an update of the whole background. If DoubleBuffer <br>
//! is true, the background is drawn. <br>
  Standard_EXPORT   virtual  void EndDraw(const Handle(Viewer_View)& aView,const Standard_Boolean DoubleBuffer = Standard_False)  = 0;
  //! Returns true if immediate (transient) mode is on. <br>
        Standard_Boolean IsImmediateModeOn() const;
  //! Returns true if there is a presentation of the <br>
//! presentable object aPresentableObject in this <br>
//! framework, aPresentableObject having the display mode aMode. <br>
  Standard_EXPORT     Standard_Boolean HasPresentation(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) const;
  //! Returns the presentation Presentation of the <br>
//! presentable object aPresentableObject in this <br>
//! framework. aPresentableObject has the display mode aMode. <br>
  Standard_EXPORT     Handle_PrsMgr_Presentation Presentation(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) const;




  DEFINE_STANDARD_RTTI(PrsMgr_PresentationManager)

protected:

  
  Standard_EXPORT   PrsMgr_PresentationManager();
  //! Adds a presentation of the presentable object <br>
//! aPresentableObject to this framework. <br>
//! aPresentableObject has the display mode aMode. <br>
  Standard_EXPORT     void AddPresentation(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;
  //! Removes a presentation of the presentable object <br>
//! aPresentableObject to this framework. <br>
//! aPresentableObject has the display mode aMode. <br>
  Standard_EXPORT     void RemovePresentation(const Handle(PrsMgr_PresentableObject)& aPresentableObject,const Standard_Integer aMode = 0) ;

Standard_Boolean myImmediateMode;
TColStd_ListOfTransient myImmediateList;


private: 

  //! Creates a new presentation in the presentation manager. <br>
  Standard_EXPORT   virtual  Handle_PrsMgr_Presentation newPresentation(const Handle(PrsMgr_PresentableObject)& aPresentableObject)  = 0;



};


#include <PrsMgr_PresentationManager.lxx>



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


#endif