b4acd3761f3658f5f7475f0222c916ea3c45ca47
[occt.git] / src / Draw / Draw.cdl
1 -- Created on: 1991-04-24
2 -- Created by: Arnaud BOUZY
3 -- Copyright (c) 1991-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 package Draw 
18
19         ---Purpose: MAQUETTE DESSIN MODELISATION
20
21 uses OSD, MMgt, TCollection, TColStd, gp, Message
22
23 is
24     exception Failure inherits Failure from Standard; 
25      
26     enumeration ColorKind is blanc,                 
27                             --white in english
28                              rouge,
29                             --red in english
30                              vert,
31                             --green in english
32                               bleu,
33                             --blue in english 
34                               cyan,
35                             -- same in english
36                               or,
37                             --gold in english 
38                               magenta,
39                             --same in english 
40                               marron,
41                             --brown in english
42                               orange,
43                             --same in english 
44                               rose,
45                             --pink in english 
46                               saumon,
47                             --salmon in english 
48                               violet,
49                             --same in english 
50                               jaune,
51                             --yellow in english 
52                               kaki,
53                             --DarkOliveGreen in english 
54                               corail;
55                             --Coral in english 
56                      
57     enumeration MarkerShape is
58         Square, Losange, X, Plus, Circle, CircleZoom;
59         
60         ---Purpose: Circle is not sensible to zoom, like 
61         --          other MarkerShape, contrarily to CircleZoom
62         
63
64
65     deferred class Drawable3D;
66     
67     deferred class Drawable2D;
68     
69     class Color;
70     
71     class Display;
72     
73     class Segment3D;
74     
75     class Segment2D;
76     
77     class Marker3D;
78     
79     class Marker2D;
80     
81     class Axis3D;
82     
83     class Axis2D;
84     
85     class Text3D;
86     
87     class Text2D;
88     
89     class Circle3D;
90     
91     class Circle2D;
92     
93     class Number;
94     
95     class Chronometer;
96     
97     class Grid;
98     
99     class Box;
100
101     class SequenceOfDrawable3D instantiates 
102         Sequence from TCollection (Drawable3D);
103         
104     class ProgressIndicator;
105
106     imported PInterp;
107
108     primitive CommandFunction;
109
110     imported Interpretor;
111
112     class Printer;
113
114     class VMap instantiates
115       DataMap from TCollection(Integer,
116                                Drawable3D from Draw,
117                                MapIntegerHasher from TColStd);    
118         
119     class MapOfAsciiString instantiates IndexedMap from TCollection(AsciiString from TCollection,AsciiString from TCollection); 
120      
121     Load(theDI: out Interpretor from Draw;
122          theKey, theResourceFileName: AsciiString from TCollection;
123          theDefaultsDirectory, theUserDefaultsDirectory: in out AsciiString from TCollection;
124          Verbose :  Boolean from Standard = Standard_False)  
125     raises Failure  from Draw;      
126
127     --
128     --  methods to handle variables
129     --  
130     
131     Set(Name : CString;  
132         D : Drawable3D from Draw; 
133         Disp : Boolean from Standard);
134        ---Purpose: Sets a variable. Display it if <Disp> is true.
135     
136     Set(Name : CString;  
137         D : Drawable3D from Draw);
138         ---Purpose: Sets a    variable,  a  null   handle    clear the
139         --          vartiable. Automatic display is context driven.
140         
141     Set(Name : CString;  
142         val : Real);
143         ---Purpose: Sets a numeric variable.
144     
145     Get(Name : in out CString;  
146         Complain : Boolean = Standard_True)
147         returns Drawable3D from Draw;
148         ---Purpose: Returns a variable  value.  Null if  the  variable
149         --          does not exist, a warning  is printed if  Complain
150         --          is True.
151         --          
152         --          The name "."   does a graphic  selection.   If the
153         --          selection is a variable <Name> is overwritten with
154         --          the name of the variable.
155         
156     Get(Name : CString;  
157         val : out Real)  
158         returns Boolean;
159         ---Purpose: Gets a   numeric  variable. Returns  True   if the
160         --          variable exist.
161
162     Set(Name : CString; val : CString);
163         ---Purpose: Sets a TCL sting variable
164         
165     Atof(Name : CString) returns Real;
166         ---Purpose: Converts numeric expression, that can involve DRAW
167         --          variables, to real value.
168     
169     Atoi(Name : CString) returns Integer;
170         ---Purpose: Converts numeric expression, that can involve DRAW
171         --          variables, to integer value. 
172         --          Implemented as cast of Atof() to integer.
173     
174     LastPick(view,X,Y,button : out Integer);
175         ---Purpose: Returns last graphic selection description.
176         
177     Repaint;
178         ---Purpose: Asks to repaint the screen after the current command.
179         
180     SetProgressBar(thePI: ProgressIndicator from Draw);
181         ---Purpose: sets progress indicator
182         
183     GetProgressBar returns ProgressIndicator from Draw;
184         ---Purpose: gets progress indicator
185
186
187     --
188     --  Draw Commands
189     --          
190
191     Commands(I : in out Interpretor from Draw);
192         ---Purpose: Defines all Draw commands
193
194     BasicCommands(I : in out Interpretor from Draw);
195         ---Purpose: Defines Draw basic commands
196
197     VariableCommands(I : in out Interpretor from Draw);
198         ---Purpose: Defines Draw variables handling commands.
199
200     GraphicCommands(I : in out Interpretor from Draw);
201         ---Purpose: Defines Draw variables handling commands.
202
203     PloadCommands(I : in out Interpretor from Draw);
204         ---Purpose: Defines Loads Draw plugins commands.
205
206     UnitCommands(I : in out Interpretor from Draw);
207         ---Purpose: Defines Draw unit commands
208
209 end Draw;