b311480e |
1 | -- Created on: 1994-09-14 |
2 | -- Created by: Christian CAILLET |
3 | -- Copyright (c) 1994-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class WorkLibrary from StepSelect inherits WorkLibrary from IFSelect |
18 | |
19 | ---Purpose : Performs Read and Write a STEP File with a STEP Model |
20 | -- Following the protocols, Copy may be implemented or not |
21 | |
22 | uses CString, Transient, |
23 | CheckIterator, InterfaceModel, Protocol from Interface, |
24 | Messenger from Message, |
25 | EntityIterator, CopyTool, |
26 | ContextWrite |
27 | |
28 | is |
29 | |
30 | Create (copymode : Boolean = Standard_True) |
6e33d3ce |
31 | returns WorkLibrary from StepSelect; |
7fd59977 |
32 | ---Purpose : Creates a STEP WorkLibrary |
33 | -- <copymode> precises whether Copy is implemented or not |
34 | |
35 | SetDumpLabel (me : mutable; mode : Integer); |
36 | ---Purpose : Selects a mode to dump entities |
37 | -- 0 (D) : prints numbers, then displays table number/label |
38 | -- 1 : prints labels, then displays table label/number |
39 | -- 2 : prints labels onky |
40 | |
41 | ReadFile (me; name : CString; |
6e33d3ce |
42 | model : out InterfaceModel; |
7fd59977 |
43 | protocol : Protocol from Interface) |
44 | returns Integer; |
45 | ---Purpose : Reads a STEP File and returns a STEP Model (into <mod>), |
46 | -- or lets <mod> "Null" in case of Error |
47 | -- Returns 0 if OK, 1 if Read Error, -1 if File not opened |
48 | |
49 | WriteFile (me; ctx : in out ContextWrite) returns Boolean; |
50 | ---Purpose : Writes a File from a STEP Model |
51 | -- Returns False (and writes no file) if <ctx> does not bring a |
52 | -- STEP Model |
53 | |
54 | CopyModel (me; |
55 | original : InterfaceModel; |
6e33d3ce |
56 | newmodel : InterfaceModel; |
7fd59977 |
57 | list : EntityIterator; |
58 | TC : in out CopyTool) |
59 | returns Boolean is redefined; |
60 | ---Purpose : Performs the copy of entities from an original model to a new |
61 | -- one. Works according <copymode> : |
62 | -- if True, standard copy is run |
63 | -- else nothing is done and returned value is False |
64 | |
65 | DumpEntity (me; |
66 | model : InterfaceModel; |
67 | protocol : Protocol from Interface; |
68 | entity : Transient; |
69 | S : Messenger from Message; |
70 | level : Integer); |
71 | ---Purpose : Dumps an entity under STEP form, i.e. as a part of a Step file |
72 | -- Works with a StepDumper. |
73 | -- Level 0 just displays type; level 1 displays the entity itself |
74 | -- and level 2 displays the entity plus its shared ones (one |
75 | -- sub-level : immediately shared entities) |
76 | |
77 | fields |
78 | |
79 | thecopymode : Boolean; |
80 | thelabmode : Integer; |
81 | |
82 | end WorkLibrary; |