0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / src / Interface / Interface_StaticStandards.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #include <Interface_Static.hxx>
15
16 #include <Message_MsgFile.hxx>
17
18 #include "../XSMessage/XSMessage_XSTEP_us.pxx"
19
20 static int THE_Interface_Static_deja = 0;
21
22 void  Interface_Static::Standards ()
23 {
24   if (THE_Interface_Static_deja)
25   {
26     return;
27   }
28
29   THE_Interface_Static_deja = 1;
30
31 //   read precision
32   //#74 rln 10.03.99 S4135: new values and default value
33   Interface_Static::Init ("XSTEP","read.precision.mode",'e',"");
34   Interface_Static::Init ("XSTEP","read.precision.mode",'&',"ematch 0");
35   Interface_Static::Init ("XSTEP","read.precision.mode",'&',"eval File");
36   Interface_Static::Init ("XSTEP","read.precision.mode",'&',"eval User");
37   Interface_Static::SetIVal ("read.precision.mode",0);
38
39   Interface_Static::Init ("XSTEP","read.precision.val",'r',"1.e-03");
40
41   Interface_Static::Init ("XSTEP","read.maxprecision.mode",'e',"");
42   Interface_Static::Init ("XSTEP","read.maxprecision.mode",'&',"ematch 0");
43   Interface_Static::Init ("XSTEP","read.maxprecision.mode",'&',"eval Preferred");
44   Interface_Static::Init ("XSTEP","read.maxprecision.mode",'&',"eval Forced");
45   Interface_Static::SetIVal ("read.maxprecision.mode",0);
46
47   Interface_Static::Init ("XSTEP","read.maxprecision.val",'r',"1.");
48
49 //   encode regularity
50 //  negatif ou nul : ne rien faire. positif : on y va
51   Interface_Static::Init ("XSTEP","read.encoderegularity.angle",'r',"0.01");
52
53 //   compute surface curves
54 //  0 : par defaut. 2 : ne garder que le 2D. 3 : ne garder que le 3D
55   //gka S4054
56   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", 'e',"");
57   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"ematch -3");
58   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval 3DUse_Forced");
59   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval 2DUse_Forced");
60   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval ?");
61   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval Default");
62   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval ?");
63   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval 2DUse_Preferred");
64   Interface_Static::Init("XSTEP"  ,"read.surfacecurve.mode", '&',"eval 3DUse_Preferred");
65   Interface_Static::SetIVal ("read.surfacecurve.mode",0);
66
67 //   write precision
68   Interface_Static::Init ("XSTEP","write.precision.mode",'e',"");
69   Interface_Static::Init ("XSTEP","write.precision.mode",'&',"ematch -1");
70   Interface_Static::Init ("XSTEP","write.precision.mode",'&',"eval Min");
71   Interface_Static::Init ("XSTEP","write.precision.mode",'&',"eval Average");
72   Interface_Static::Init ("XSTEP","write.precision.mode",'&',"eval Max");
73   Interface_Static::Init ("XSTEP","write.precision.mode",'&',"eval User");
74   Interface_Static::SetIVal ("write.precision.mode",0);
75
76   Interface_Static::Init ("XSTEP","write.precision.val",'r',"1.e-03");
77
78   // Write surface curves
79   // 0: write (defaut), 1: do not write, 2: write except for analytical surfaces
80   Interface_Static::Init("XSTEP"  ,"write.surfacecurve.mode", 'e',"");
81   Interface_Static::Init("XSTEP"  ,"write.surfacecurve.mode", '&',"ematch 0");
82   Interface_Static::Init("XSTEP"  ,"write.surfacecurve.mode", '&',"eval Off");
83   Interface_Static::Init("XSTEP"  ,"write.surfacecurve.mode", '&',"eval On");
84 //  Interface_Static::Init("XSTEP"  ,"write.surfacecurve.mode", '&',"eval NoAnalytic");
85   Interface_Static::SetIVal ("write.surfacecurve.mode",1);
86
87 //  lastpreci : pour recuperer la derniere valeur codee (cf XSControl)
88 //    (0 pour dire : pas codee)
89 //:S4136  Interface_Static::Init("std"    ,"lastpreci", 'r',"0.");
90
91   // load messages if needed
92   if (!Message_MsgFile::HasMsg ("XSTEP_1"))
93   {
94     if (!Message_MsgFile::LoadFromEnv ("CSF_XSMessage", "XSTEP"))
95     {
96       Message_MsgFile::LoadFromString (XSMessage_XSTEP_us, sizeof(XSMessage_XSTEP_us) - 1);
97     }
98     if (!Message_MsgFile::HasMsg ("XSTEP_1"))
99     {
100       throw Standard_ProgramError("Critical Error - message resources for Interface_Static are invalid or undefined!");
101     }
102   }
103 }