0023384: Translate sub-shape names between XDE document and STEP
[occt.git] / src / STEPCAFControl / STEPCAFControl_Controller.cxx
1 // Created on: 2000-10-05
2 // Created by: Andrey BETENEV
3 // Copyright (c) 2000-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21 #include <STEPCAFControl_Controller.ixx>
22 #include <STEPCAFControl_ActorWrite.hxx>
23 #include <XSAlgo.hxx>
24 #include <Interface_Static.hxx>
25
26 //=======================================================================
27 //function : STEPCAFControl_Controller
28 //purpose  : 
29 //=======================================================================
30
31 STEPCAFControl_Controller::STEPCAFControl_Controller ()
32 {
33   Handle(STEPCAFControl_ActorWrite) ActWrite = new STEPCAFControl_ActorWrite;
34   theAdaptorWrite = ActWrite;
35 }
36
37 //=======================================================================
38 //function : Init
39 //purpose  : 
40 //=======================================================================
41
42 Standard_Boolean STEPCAFControl_Controller::Init ()
43 {
44   static Standard_Boolean inic = Standard_False;
45   if (inic) return Standard_True;
46   inic = Standard_True;
47   // self-registering
48   Handle(STEPCAFControl_Controller) STEPCTL = new STEPCAFControl_Controller;
49   // do XSAlgo::Init, cause it does not called before.
50   XSAlgo::Init();
51   // do something to avoid warnings...
52   STEPCTL->AutoRecord();
53
54   //-----------------------------------------------------------
55   // Few variables for advanced control of translation process
56   //-----------------------------------------------------------
57
58   // Indicates whether to write sub-shape names to 'Name' attributes of
59   // STEP Representation Items
60   Interface_Static::Init   ("stepcaf", "write.stepcaf.subshapes.name", 'e', "");
61   Interface_Static::Init   ("stepcaf", "write.stepcaf.subshapes.name", '&', "enum 0");
62   Interface_Static::Init   ("stepcaf", "write.stepcaf.subshapes.name", '&', "eval Off"); // 0
63   Interface_Static::Init   ("stepcaf", "write.stepcaf.subshapes.name", '&', "eval On");  // 1
64   Interface_Static::SetIVal("write.stepcaf.subshapes.name", 0); // Disabled by default
65
66   // Indicates whether to read sub-shape names from 'Name' attributes of
67   // STEP Representation Items
68   Interface_Static::Init   ("stepcaf", "read.stepcaf.subshapes.name", 'e', "");
69   Interface_Static::Init   ("stepcaf", "read.stepcaf.subshapes.name", '&', "enum 0");
70   Interface_Static::Init   ("stepcaf", "read.stepcaf.subshapes.name", '&', "eval Off"); // 0
71   Interface_Static::Init   ("stepcaf", "read.stepcaf.subshapes.name", '&', "eval On");  // 1
72   Interface_Static::SetIVal("read.stepcaf.subshapes.name", 0); // Disabled by default
73
74   return Standard_True;
75 }