b311480e |
1 | -- Created on: 1997-05-14 |
2 | -- Created by: Christian CAILLET |
3 | -- Copyright (c) 1997-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 | -- |
973c2be1 |
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. |
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 Writer from XSControl |
18 | |
19 | ---Purpose : This class gives a simple way to create then write a |
20 | -- Model compliant to a given norm, from a Shape |
21 | -- The model can then be edited by tools by other appropriate tools |
22 | |
23 | uses CString, |
24 | InterfaceModel from Interface, WorkSession from XSControl, |
25 | ReturnStatus from IFSelect, |
26 | Shape from TopoDS |
27 | |
28 | is |
29 | |
30 | Create returns Writer; |
31 | ---Purpose : Creates a Writer from scratch |
32 | |
33 | Create (norm : CString) returns Writer; |
34 | ---Purpose : Creates a Writer from scratch, with a norm name which |
35 | -- identifie a Controller |
36 | |
37 | Create (WS : mutable WorkSession from XSControl; |
38 | scratch : Boolean = Standard_True) returns Writer; |
39 | ---Purpose : Creates a Writer from an already existing Session |
40 | -- If <scratch> is True (D), clears already recorded data |
41 | |
42 | SetNorm (me : in out; norm : CString) returns Boolean; |
43 | ---Purpose : Sets a specific norm to <me> |
44 | -- Returns True if done, False if <norm> is not available |
45 | |
46 | SetWS (me : in out; WS : mutable WorkSession from XSControl; |
47 | scratch : Boolean = Standard_True); |
48 | ---Purpose : Sets a specific session to <me> |
49 | |
50 | WS (me) returns WorkSession from XSControl; |
51 | ---Purpose : Returns the session used in <me> |
52 | |
53 | Model (me : in out; newone : Boolean = Standard_False) returns InterfaceModel; |
54 | ---Purpose : Returns the produced model. Produces a new one if not yet done |
55 | -- or if <newone> is True |
56 | -- This method allows for instance to edit product or header |
57 | -- data before writing |
58 | |
59 | TransferShape (me : in out; sh : Shape from TopoDS; mode : Integer = 0) |
60 | returns ReturnStatus; |
61 | ---Purpose : Transfers a Shape according to the mode |
62 | |
63 | WriteFile (me : in out; filename : CString) returns ReturnStatus; |
64 | ---Purpose : Writes the produced model |
65 | |
66 | PrintStatsTransfer (me; what : Integer; mode : Integer = 0); |
67 | ---Purpose : Prints Statistics about Transfer |
68 | |
69 | fields |
70 | |
71 | thesession : WorkSession from XSControl; |
72 | |
73 | end Writer; |