0023950: Names and visibility of points not saved when writing XCAF Document into...
[occt.git] / src / STEPControl / STEPControl_Controller.cdl
1 -- Created on: 1995-02-20
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 STEPControl inherits Controller  from XSControl
18
19     ---Purpose : defines basic controller for STEP processor
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      Shape from TopoDS,
32      WorkSession from XSControl
33
34 is
35
36     Create returns Controller from STEPControl;
37     ---Purpose : Initializes the use of STEP Norm (the first time) and
38     --           returns a Controller
39
40     NewModel     (me) returns InterfaceModel from Interface;
41     ---Purpose : Creates a new empty Model ready to receive data of the Norm.
42     --           It is taken from STEP Template Model
43
44     ActorRead  (me; model : InterfaceModel)
45                  returns ActorOfTransientProcess from Transfer;
46     ---Purpose : Returns a new Actor for Read attached to the pair (norm,appli)
47     --           It is a PmsToTopoDSAct_Actor
48
49         --  Redefined Transfer for Write (using Actor)  --
50     Customise (me: mutable; WS : in out WorkSession from XSControl) is redefined;
51     
52     TransferWriteShape (me; shape : Shape from TopoDS;
53                         FP        : FinderProcess  from Transfer;
54                         model     : InterfaceModel from Interface;
55                         modetrans : Integer = 0)  returns ReturnStatus
56       is redefined;
57     ---Purpose : Takes one Shape and transfers it to the InterfaceModel
58     --           (already created by NewModel for instance)
59     --           <modeshape> 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 a StepModel)
62     --           modeshape : 1 Facetted BRep, 2 Shell, 3 Manifold Solid
63
64         --  for global initialisation
65
66     Init (myclass) returns Boolean;
67     ---Purpose : Standard Initialisation. It creates a Controller for STEP
68     --           and records it to various names, available to select it later
69     --           Returns True when done, False if could not be done
70
71 end Controller;