0023432: Connected Interactive Objects computed without Interactive Context
[occt.git] / src / ViewerTest / ViewerTest.cdl
CommitLineData
b311480e 1-- Created on: 1997-07-23
2-- Created by: Henri JEANNIN
3-- Copyright (c) 1997-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
7fd59977 21
22
23
24package ViewerTest
25
26 ---Purpose:
27
28uses
29 Draw,
30 TCollection,
31 TColStd,
32 TopAbs,
33 TopTools,
34 TopoDS,
35 V3d,
36 AIS,
37 NIS,
792c785c 38 MMgt,
39 Quantity
7fd59977 40
41is
42
43 class Tool;
44 ---Purpose: to build a context and set a given context as current
45 -- for ViewerTest.
46
47
48
49 class EventManager;
50 ---Purpose: used to manage mouse event (move,select,shiftselect)
51 -- By default the events are transmitted to interactive context.
52
53
54 class DoubleMapOfInteractiveAndName instantiates DoubleMap
55 from TCollection ( Transient from Standard,
56 AsciiString from TCollection,
57 MapTransientHasher from TColStd,
58 AsciiString from TCollection);
59
60
61 -- ----------------------------------------------------------------------
62 -- Package methods
63 -- ----------------------------------------------------------------------
64
65 Factory (theDI : out Interpretor from Draw);
66 ---Purpose: Loads all Draw commands of V2d & V3d. Used for plugin.
67
68 ---Category: Create the viewer....
69
70 ViewerInit ( thePxLeft, thePxTop : Integer from Standard = 0;
71 thePxWidth, thePxHeight : Integer from Standard = 0);
72 ---Purpose:
73 -- implemented in ViewerTest_ViewerCommands.cxx
74
75 ---Category: Selection in the viewer....
76
77
78 WClass returns TShared from MMgt is private;
79 ---C++: return const &
80 ---Purpose: Returns a window class that implements standard behavior of
81 -- all windows of the ViewerTest. This includes usual Open CASCADE
82 -- view conventions for mouse buttons (e.g. Ctrl+MB1 for zoom,
83 -- Ctrl+MB2 for pan, etc) and keyboard shortcuts.
84 -- This method is relevant for MS Windows only and respectively
85 -- returns WNT_WClass handle.
86
87 PickShape (aType : ShapeEnum from TopAbs;
88 MaxPick : Integer from Standard = 5) returns Shape from TopoDS;
89 ---Purpose: waits until a shape of type <aType> is picked in the AIS Viewer and returns it.
90 -- if <aType> == TopAbs_Shape, any shape can be picked...
91 -- MaxPick is the Max number before exiting, if no pick is successfull
92
93
94 PickShapes (aType : ShapeEnum from TopAbs;
95 thepicked : in out HArray1OfShape from TopTools;
96 MaxPick : Integer from Standard = 5)
97 returns Boolean from Standard;
98 ---Purpose: wait until the array is filled with picked shapes.
99 -- returns True if the array is filled.
100 -- exit if number of unsuccesfull picks = <MaxPick>
101
102 PickObject(Type : KindOfInteractive from AIS = AIS_KOI_None;
103 Signature : Integer from Standard = -1;
104 MaxPick : Integer from Standard = 5)
105 returns InteractiveObject from AIS;
106 ---Purpose: waits until an interactive object of a given Type
107 -- and signature is picked (defaut values authorize
108 -- selection of any Interactive Object)
109 -- exit if number of unsuccesfull picks = <MaxPick>
110
111 PickObjects(thepicked : in out HArray1OfTransient from TColStd;
112 Type : KindOfInteractive from AIS = AIS_KOI_None;
113 Signature : Integer from Standard = -1;
114 MaxPick : Integer from Standard = 5)
115 returns Boolean from Standard;
116 ---Purpose: selection of several interactive objects. Number is given
117 -- by the size of <thepicked>
118 -- exit if number of unsuccesfull picks = <MaxPick>
119
120
121 Commands (theCommands : in out Interpretor from Draw);
122 AviCommands(theCommands :in out Interpretor from Draw);
123 ViewerCommands(theCommands :in out Interpretor from Draw);
124 MyCommands (theCommands : in out Interpretor from Draw); -- My Own Com-s
125 RelationCommands(theCommands :in out Interpretor from Draw);
126 ObjectCommands(theCommands :in out Interpretor from Draw);
127 FilletCommands(theCommands :in out Interpretor from Draw);
128 VoxelCommands(theCommands :in out Interpretor from Draw);
3946774d 129 OpenGlCommands(theCommands :in out Interpretor from Draw);
7fd59977 130
131 GetMousePosition(xpix,ypix: out Integer from Standard);
132
133 GetViewerFromContext returns Viewer from V3d;
134
135 GetCollectorFromContext returns Viewer from V3d;
136
137 GetAISContext returns InteractiveContext from AIS;
138
139 GetNISContext returns InteractiveContext from NIS;
140 ---C++: return &
141
142 SetAISContext (aContext: InteractiveContext from AIS);
143
144 SetNISContext (aContext: InteractiveContext from NIS);
145
146 CurrentView returns View from V3d;
147
148 CurrentView (aViou:View from V3d);
149
150 Clear ;
151
152 ---Category: Change behaviour on move,select,... events.
153
154 SetEventManager (aMgr:EventManager from ViewerTest);
155 ---Purpose: puts <aMgr> as current eventmanager (the
156 -- move,select,...will be applied to <aMgr>
157
158 UnsetEventManager;
159 ---Purpose: removes the last EventManager from the list.
160
161 ResetEventManager;
162 ---Purpose: clear the list of EventManagers and
163 -- sets the default EventManager as current
164
165 CurrentEventManager returns EventManager from ViewerTest;
166
167
168 ---Category: privateMethods...
169
170
171 RemoveSelected;
172
173 StandardModeActivation(Mode : Integer from Standard);
174
792c785c 175 GetColorFromName(name: CString from Standard)
176 returns NameOfColor from Quantity;
177
7fd59977 178
179
180end;