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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
19 ---Purpose: MAQUETTE DESSIN MODELISATION
21 uses OSD, MMgt, TCollection, TColStd, gp, Message
24 exception Failure inherits Failure from Standard;
26 enumeration ColorKind is blanc,
53 --DarkOliveGreen in english
57 enumeration MarkerShape is
58 Square, Losange, X, Plus, Circle, CircleZoom;
60 ---Purpose: Circle is not sensible to zoom, like
61 -- other MarkerShape, contrarily to CircleZoom
65 deferred class Drawable3D;
67 deferred class Drawable2D;
102 class SequenceOfDrawable3D instantiates
103 Sequence from TCollection (Drawable3D);
105 class ProgressIndicator;
108 ---Purpose: typedef Tcl_Interp * Draw_PInterp;
110 primitive CommandFunction;
111 ---Purpose: typedef Standard_Integer (*Draw_CommandFunction)
112 -- (Draw_Interpretor&, Standard_Integer, char**)
114 imported Interpretor;
115 ---Purpose: Encapsulate the Tcl interpretor to add commands.
118 ---Purpose: Implements a printer class to connect Message_Messenger
119 -- tool to Draw_Interpretor output.
121 class VMap instantiates
122 DataMap from TCollection(Integer,
123 Drawable3D from Draw,
124 MapIntegerHasher from TColStd);
126 class MapOfAsciiString instantiates IndexedMap from TCollection(AsciiString from TCollection,AsciiString from TCollection);
128 Load(theDI: out Interpretor from Draw;
129 theKey, theResourceFileName: AsciiString from TCollection;
130 theDefaultsDirectory, theUserDefaultsDirectory: in out AsciiString from TCollection;
131 Verbose : Boolean from Standard = Standard_False)
132 raises Failure from Draw;
135 -- methods to handle variables
139 D : Drawable3D from Draw;
140 Disp : Boolean from Standard);
141 ---Purpose: Sets a variable. Display it if <Disp> is true.
144 D : Drawable3D from Draw);
145 ---Purpose: Sets a variable, a null handle clear the
146 -- vartiable. Automatic display is context driven.
150 ---Purpose: Sets a numeric variable.
152 Get(Name : in out CString;
153 Complain : Boolean = Standard_True)
154 returns Drawable3D from Draw;
155 ---Purpose: Returns a variable value. Null if the variable
156 -- does not exist, a warning is printed if Complain
159 -- The name "." does a graphic selection. If the
160 -- selection is a variable <Name> is overwritten with
161 -- the name of the variable.
166 ---Purpose: Gets a numeric variable. Returns True if the
169 Set(Name : CString; val : CString);
170 ---Purpose: Sets a TCL sting variable
172 Atof(Name : CString) returns Real;
173 ---Purpose: Converts numeric expression, that can involve DRAW
174 -- variables, to real value.
176 Atoi(Name : CString) returns Integer;
177 ---Purpose: Converts numeric expression, that can involve DRAW
178 -- variables, to integer value.
179 -- Implemented as cast of Atof() to integer.
181 LastPick(view,X,Y,button : out Integer);
182 ---Purpose: Returns last graphic selection description.
185 ---Purpose: Asks to repaint the screen after the current command.
187 SetProgressBar(thePI: ProgressIndicator from Draw);
188 ---Purpose: sets progress indicator
190 GetProgressBar returns ProgressIndicator from Draw;
191 ---Purpose: gets progress indicator
198 Commands(I : in out Interpretor from Draw);
199 ---Purpose: Defines all Draw commands
201 BasicCommands(I : in out Interpretor from Draw);
202 ---Purpose: Defines Draw basic commands
204 VariableCommands(I : in out Interpretor from Draw);
205 ---Purpose: Defines Draw variables handling commands.
207 GraphicCommands(I : in out Interpretor from Draw);
208 ---Purpose: Defines Draw variables handling commands.
210 PloadCommands(I : in out Interpretor from Draw);
211 ---Purpose: Defines Loads Draw plugins commands.
213 UnitCommands(I : in out Interpretor from Draw);
214 ---Purpose: Defines Draw unit commands