Salome HOME
First publish of HEXABLOCKcomponant
[modules/hexablock.git] / src / HEXABLOCK_I / HexLaw_impl.cxx
1 using namespace std;
2 #include "HEXABLOCK.hxx"
3 #include "utilities.h"
4
5 #include <string>
6
7 #include "hexa_base.hxx"
8 #include "HexLaw_impl.hxx"
9
10 Law_impl::Law_impl( HEXA_NS::Law *ptrCpp ):_law_cpp(ptrCpp)
11 {
12 }
13
14 HEXA_NS::Law* Law_impl::GetImpl()
15 throw (SALOME::SALOME_Exception)
16 {
17   return _law_cpp;
18 }
19
20 // HEXA_NS::Vertex* v = _hexa_cpp->getVertex(n);
21 //   Vertex_impl* servantCorba = new Vertex_impl(v);
22 //   return servantCorba->_this();
23
24
25 void Law_impl::setName(const char* name)
26 throw (SALOME::SALOME_Exception)
27 {
28   _law_cpp->setName(name);
29 }
30
31 char* Law_impl::getName()
32 throw (SALOME::SALOME_Exception)
33 {
34 //   string name;
35 //   name = _law_cpp->getName();
36 //   return  name.c_str();
37     return (char*)_law_cpp->getName();
38 }
39
40 void Law_impl::setNodes(::CORBA::Long n)
41 throw (SALOME::SALOME_Exception)
42 {
43   _law_cpp->setNodes(n);
44 }
45
46 ::CORBA::Long Law_impl::getNodes()
47 throw (SALOME::SALOME_Exception)
48 {
49   return _law_cpp->getNodes();
50 }
51
52 void Law_impl::setKind( HEXABLOCK_ORB::KindLaw kIn )
53 throw (SALOME::SALOME_Exception)
54 {
55   HEXA_NS::KindLaw k_impl;
56   switch (kIn) {
57     case HEXABLOCK_ORB::UNIFORM    : k_impl = HEXA_NS::Uniform; break;
58     case HEXABLOCK_ORB::ARITHMETIC : k_impl = HEXA_NS::Arithmetic;  break;
59     case HEXABLOCK_ORB::GEOMETRIC  : k_impl = HEXA_NS::Geometric;   break;
60   }
61   _law_cpp->setKind(k_impl);
62 }
63
64 HEXABLOCK_ORB::KindLaw Law_impl::getKind()
65 throw (SALOME::SALOME_Exception)
66 {
67   HEXABLOCK_ORB::KindLaw k;
68   HEXA_NS::KindLaw k_cpp = _law_cpp->getKind();
69   switch (k_cpp) {
70     case HEXA_NS::Uniform :    k = HEXABLOCK_ORB::UNIFORM; break;
71     case HEXA_NS::Arithmetic : k = HEXABLOCK_ORB::ARITHMETIC; break;
72     case HEXA_NS::Geometric :  k = HEXABLOCK_ORB::GEOMETRIC; break;
73     default :                  ASSERT( false ); break;
74   }
75   return k;
76 }
77
78
79 void Law_impl::setCoefficient(::CORBA::Double c)
80 throw (SALOME::SALOME_Exception)
81 {
82   _law_cpp->setCoefficient(c);
83 }
84
85 ::CORBA::Double Law_impl::getCoefficient()
86 throw (SALOME::SALOME_Exception)
87 {
88   return _law_cpp->getCoefficient();
89 }