0025689: IGESCAFControl_Writer crash in constructor.
[occt.git] / src / IGESControl / IGESControl_Controller.cdl
1 -- Created on: 1995-03-15
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1995-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 class Controller from IGESControl inherits Controller from XSControl
18
19     ---Purpose : Controller for IGES-5.1
20
21 uses
22
23     CString,
24     Protocol from Interface,
25     InterfaceModel from Interface,
26     WorkLibrary from IFSelect,
27     ReturnStatus from IFSelect,
28     ActorOfTransientProcess from Transfer,
29     FinderProcess from Transfer,
30     ActorOfFinderProcess from Transfer,
31     WorkSession from XSControl,
32     Shape from TopoDS
33
34 is
35
36     Create (modefnes : Boolean = Standard_False)
37         returns Controller from IGESControl;
38     ---Purpose : Initializes the use of IGES Norm (the first time) and returns
39     --           a Controller for IGES-5.1
40     --           If <modefnes> is True, sets it to internal FNES format
41
42     NewModel     (me) returns InterfaceModel from Interface;
43     ---Purpose : Creates a new empty Model ready to receive data of the Norm.
44     --           It is taken from IGES Template Model
45
46     ActorRead    (me; model : InterfaceModel)
47                  returns ActorOfTransientProcess from Transfer;
48     ---Purpose : Returns the Actor for Read attached to the pair (norm,appli)
49     --           It is an Actor from IGESToBRep, adapted from an IGESModel :
50     --           Unit, tolerances
51
52     TransferWriteShape (me; shape : Shape from TopoDS;
53                         FP        : FinderProcess  from Transfer;
54                         model     : InterfaceModel from Interface;
55                         modetrans : Integer = 0)
56       returns ReturnStatus  is redefined;
57     ---Purpose : Takes one Shape and transfers it to the InterfaceModel
58     --           (already created by NewModel for instance)
59     --           <modetrans> is to be interpreted by each kind of XstepAdaptor
60     --           Returns a status : 0 OK  1 No result  2 Fail  -1 bad modeshape
61     --               -2 bad model (requires an IGESModel)
62     --           modeshape : 0  groupe of face (version < 5.1)
63     --                       1  BREP-version 5.1 of IGES
64
65     Init (myclass) returns Boolean;
66     ---Purpose : Standard Initialisation. It creates a Controller for IGES and
67     --           records it to various names, available to select it later
68     --           Returns True when done, False if could not be done
69     --           Also, it creates and records an Adaptor for FNES
70     Customise (me: mutable; WS : in out WorkSession from XSControl) is redefined;
71 fields
72
73     themode : Boolean;
74
75 end Controller;