0024752: Visualization - inherit OpenGl_Group from Graphic3d_Group
[occt.git] / src / Prs3d / Prs3d_Presentation.cdl
1 -- Created on: 1992-08-26
2 -- Created by: Jean Louis FRENKEL
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 -- Modified:    GG IMP020200 Add Transformation() method
18
19
20 class Presentation from Prs3d inherits Structure from Graphic3d
21
22         ---Purpose: Defines a presentation object which can be displayed,
23         -- highlighted or erased.
24         -- The presentation object stores the results of the
25         -- presentation algorithms as defined in the StdPrs
26         -- classes and the Prs3d classes inheriting Prs3d_Root.
27         -- This presentation object is used to give display
28         -- attributes defined at this level to
29         -- ApplicationInteractiveServices classes at the level above.
30         
31 uses
32         Array2OfReal            from TColStd,
33     DataStructureManager from Graphic3d,
34     Structure            from Graphic3d,
35     StructureManager     from Graphic3d,
36     Group                from Graphic3d,
37     Transformation       from Geom,
38     NameOfColor          from Quantity,
39     Length               from Quantity,
40     ShadingAspect        from Prs3d
41     
42 is
43
44   Create (theStructManager : StructureManager from Graphic3d;
45           theToInit        : Boolean          from Standard = Standard_True)
46   ---Purpose: Constructs a presentation object
47   -- if <Init> is false, no color initialization is done.
48   returns mutable Presentation from Prs3d;
49
50   Create (theStructManager : StructureManager from Graphic3d;
51           thePrs           : Presentation     from Prs3d)
52   ---Purpose: Constructs a presentation object.
53   returns mutable Presentation from Prs3d;
54
55     Compute(me : mutable; aProjector: DataStructureManager from Graphic3d)
56     returns Structure from Graphic3d
57     is redefined virtual;
58
59         Compute ( me    : mutable;
60                   aProjector    : DataStructureManager from Graphic3d;
61                   AMatrix       : Array2OfReal from TColStd )
62                 returns Structure from Graphic3d is redefined virtual;
63         ---Level: Advanced
64         ---Purpose: Returns the new Structure defined for the new visualization
65         ---Category: Methods to modify the class definition
66
67         Compute ( me    : mutable;
68                   aProjector    : DataStructureManager from Graphic3d;
69                   aStructure    : in out Structure from Graphic3d )
70                 is redefined virtual;
71         ---Level: Advanced
72         ---Purpose: Returns the new Structure defined for the new visualization
73         ---Category: Methods to modify the class definition
74
75         Compute ( me    : mutable;
76                   aProjector    : DataStructureManager from Graphic3d;
77                   AMatrix       : Array2OfReal from TColStd;
78                   aStructure    : in out Structure from Graphic3d )
79                 is redefined virtual;
80         ---Level: Advanced
81         ---Purpose: Returns the new Structure defined for the new visualization
82         ---Category: Methods to modify the class definition
83
84
85 ---Category: Highlighting methods.
86 --           
87     Highlight(me: mutable) is static;
88         ---Purpose: displays the whole content of the presentation in white.
89     Color(me: mutable; aColor: NameOfColor from Quantity) is static;
90         ---Purpose: displays the whole content of the presentation in the specified color.
91     BoundBox(me: mutable) is static;
92
93 ---Category: Global modification methods.
94     SetShadingAspect(me: mutable; aShadingAspect: ShadingAspect from Prs3d);
95     
96 ---Category: Inquire methods.
97     IsPickable(me) returns Boolean from Standard;
98     
99 ---Category: Transformation methods.
100     Transform   (me: mutable; aTransformation: Transformation from Geom);
101     Place       (me: mutable; X,Y,Z: Length from Quantity);
102
103     Multiply    (me: mutable; aTransformation: Transformation from Geom); 
104     Move        (me: mutable; X,Y,Z: Length from Quantity);
105     Transformation   (me) returns Transformation from Geom;
106
107     Connect(me: mutable; aPresentation: Presentation from Prs3d);
108     
109     Remove (me: mutable; aPresentation: Presentation from Prs3d);
110     RemoveAll (me: mutable);
111
112     SetPickable(me: mutable) is static;
113     SetUnPickable(me: mutable) is static;
114
115     CurrentGroup(me) returns mutable Group from Graphic3d is static private;
116
117 friends
118
119   class Root from Prs3d
120
121 end Presentation;