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
9 -- under the terms of the GNU Lesser General Public 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**)
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 private class MapOfFunctions instantiates DataMap from TCollection(AsciiString from TCollection ,Function from OSD, AsciiString from TCollection);
128 class MapOfAsciiString instantiates IndexedMap from TCollection(AsciiString from TCollection,AsciiString from TCollection);
130 Load(theDI: out Interpretor from Draw; theKey, theResourceFileName: AsciiString from TCollection)
131 -- returns Transient from Standard
132 raises Failure from Draw;
134 Load(theDI: out Interpretor from Draw;
135 theKey, theResourceFileName: AsciiString from TCollection;
136 theDefaultsDirectory, theUserDefaultsDirectory: in out AsciiString from TCollection;
137 Verbose : Boolean from Standard = Standard_False)
138 raises Failure from Draw;
141 -- methods to handle variables
145 D : Drawable3D from Draw;
146 Disp : Boolean from Standard);
147 ---Purpose: Sets a variable. Display it if <Disp> is true.
150 D : Drawable3D from Draw);
151 ---Purpose: Sets a variable, a null handle clear the
152 -- vartiable. Automatic display is context driven.
156 ---Purpose: Sets a numeric variable.
158 Get(Name : in out CString;
159 Complain : Boolean = Standard_True)
160 returns Drawable3D from Draw;
161 ---Purpose: Returns a variable value. Null if the variable
162 -- does not exist, a warning is printed if Complain
165 -- The name "." does a graphic selection. If the
166 -- selection is a variable <Name> is overwritten with
167 -- the name of the variable.
172 ---Purpose: Gets a numeric variable. Returns True if the
175 Set(Name : CString; val : CString);
176 ---Purpose: Sets a TCL sting variable
178 Atof(Name : CString) returns Real;
179 ---Purpose: Converts numeric expression, that can involve DRAW
180 -- variables, to real value.
182 Atoi(Name : CString) returns Integer;
183 ---Purpose: Converts numeric expression, that can involve DRAW
184 -- variables, to integer value.
185 -- Implemented as cast of Atof() to integer.
187 LastPick(view,X,Y,button : out Integer);
188 ---Purpose: Returns last graphic selection description.
191 ---Purpose: Asks to repaint the screen after the current command.
193 SetProgressBar(thePI: ProgressIndicator from Draw);
194 ---Purpose: sets progress indicator
196 GetProgressBar returns ProgressIndicator from Draw;
197 ---Purpose: gets progress indicator
204 Commands(I : in out Interpretor from Draw);
205 ---Purpose: Defines all Draw commands
207 BasicCommands(I : in out Interpretor from Draw);
208 ---Purpose: Defines Draw basic commands
210 VariableCommands(I : in out Interpretor from Draw);
211 ---Purpose: Defines Draw variables handling commands.
213 GraphicCommands(I : in out Interpretor from Draw);
214 ---Purpose: Defines Draw variables handling commands.
216 PloadCommands(I : in out Interpretor from Draw);
217 ---Purpose: Defines Loads Draw plugins commands.
219 UnitCommands(I : in out Interpretor from Draw);
220 ---Purpose: Defines Draw unit commands