52a2bd694fc61ccb5614a3b4a4aa84ba195d703f
[occt.git] / src / PrsMgr / PrsMgr_Presentation3d.cdl
1 -- Created on: 1993-10-21
2 -- Created by: Jean-Louis FRENKEL
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21 -- Modified by  rob 09-oct-96
22
23
24
25 class Presentation3d from PrsMgr inherits Presentation from PrsMgr
26
27 uses
28     PresentationManager3d from PrsMgr,
29     Presentation from Prs3d,
30     NameOfColor from Quantity,
31     Transformation from Geom,
32     Length from Quantity,
33     ShadingAspect from Prs3d,
34     TypeOfPresentation3d from PrsMgr,
35     DataStructureManager from Graphic3d,
36     Structure from Graphic3d,
37     PresentableObjectPointer from PrsMgr,PresentableObject from PrsMgr,
38     Prs from PrsMgr,
39     Projector from Prs3d,
40     KindOfPrs from PrsMgr
41 is
42     Create(aPresentationManager: PresentationManager3d from PrsMgr;
43            aPresentableObject: PresentableObject from PrsMgr)
44     returns mutable Presentation3d  from  PrsMgr
45     is private;
46
47     KindOfPresentation(me) returns KindOfPrs from PrsMgr is redefined static;
48
49     Destroy(me: mutable) is redefined;
50     ---Level: Public
51     ---Purpose: Destructor
52     ---C++:     alias ~
53
54     Display(me: mutable) 
55     is redefined static private;
56     
57     Display (me: mutable;
58              theIsHighlight: Boolean from Standard)
59     is static private;
60     ---Level: Private;
61     ---Purpose: displays myStructure and sets myDisplayReason to theIsHighlight value if
62     -- myStructure was not displayed or was invisible
63     
64     Erase(me) is redefined static private;
65
66     SetVisible (me: mutable; theValue: Boolean from Standard) is redefined static private;
67
68     Highlight(me: mutable) is redefined static private;
69     
70     Unhighlight (me) is redefined static private;
71     
72     IsDisplayed (me) returns Boolean from Standard
73     is redefined static private;
74
75     IsHighlighted (me) returns Boolean from Standard
76     is redefined static private;
77
78
79     DisplayPriority(me) returns Integer from Standard
80     is redefined static private;
81     
82     SetDisplayPriority(me:mutable;aNewPrior:Integer from Standard)
83     is redefined static private;
84
85     SetZLayer ( me : mutable;
86                 theLayerId : Integer from Standard )
87       is redefined static private;
88     ---Purpose: Set Z layer ID for the presentation
89
90     GetZLayer ( me )
91       returns Integer from Standard is redefined static private;
92     ---Purpose: Get Z layer ID for the presentation
93
94     Clear(me:mutable)
95     ---Purpose: removes the whole content of the presentation.
96     --          Does not remove the other connected presentations.
97     --          
98     is redefined static private;
99
100
101     Color(me:mutable; aColor: NameOfColor from Quantity)
102     is static private;
103     
104     BoundBox(me)
105     is static private;
106     
107 ---Category: references to other presentation.
108
109     Connect(me; anOtherPresentation: Presentation3d from PrsMgr)
110     is static private;
111     
112 ---Category: Transformation methods.
113
114     Transform (me; aTransformation: Transformation from Geom)
115     is static private;
116
117     Place (me; X,Y,Z: Length from Quantity)
118     is static private;
119
120     Multiply (me; aTransformation: Transformation from Geom)
121     is static private;
122
123     Move (me; X,Y,Z: Length from Quantity)
124     is static private;
125         
126  ---Category: Global Aspect methods
127
128     SetShadingAspect(me;
129                      aShadingAspect: ShadingAspect from Prs3d)
130     is static private;
131
132     Presentation (me) returns mutable Presentation from Prs3d
133     is static;
134
135
136             ---Category:  Computed Structures
137
138     Compute(me : mutable; theStructure: Structure from Graphic3d)
139     is static private;
140
141     Compute(me : mutable; aProjector: DataStructureManager from Graphic3d)
142     returns Structure from Graphic3d
143     is static private;
144
145     Compute(me           : mutable; 
146             aProjector   : DataStructureManager from Graphic3d;
147             TheTrsf      : Transformation from Geom)
148     returns Structure from Graphic3d
149     is static private;
150
151     Compute(me           :  mutable; 
152             aProjector   :  DataStructureManager from Graphic3d;
153             aGivenStruct :  Structure from Graphic3d)
154     is static private;
155
156     Compute(me           : mutable; 
157             aProjector   : DataStructureManager from Graphic3d;
158             TheTrsf      : Transformation from Geom;
159             aGivenStruct : Structure from Graphic3d)
160     is static private;
161
162
163
164     Projector(myclass; aProjector: DataStructureManager from Graphic3d)
165     returns Projector from Prs3d
166     is private;
167     
168 fields
169
170     myStructure: Prs from PrsMgr;
171     myDisplayReason: Boolean from Standard;
172     myPresentableObject: PresentableObjectPointer from PrsMgr;
173 friends 
174     class PresentationManager3d from PrsMgr,
175     class PresentableObject from PrsMgr,
176     class Prs from PrsMgr
177 end Presentation3d from PrsMgr;