Salome HOME
Merge from V6_main 01/04/2013
[modules/hexablock.git] / src / HEXABLOCK_I / HexElements_impl.hxx
1 // Copyright (C) 2009-2013  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 #ifndef __HexElements_impl__
20 #define __HexElements_impl__
21
22 #include <SALOMEconfig.h>
23 #include CORBA_SERVER_HEADER(Elements)
24 // #include CORBA_SERVER_HEADER(Vertex)
25 // #include CORBA_SERVER_HEADER(Edge)
26 // #include CORBA_SERVER_HEADER(Quad)
27 // #include CORBA_SERVER_HEADER(Hexa)
28
29 #include "SALOME_GenericObj_i.hh"
30
31 #include "hexa_base.hxx"
32 #include "HexElements.hxx"
33
34 using namespace HEXABLOCK_ORB;
35
36 class Elements_impl : public POA_HEXABLOCK_ORB::Elements,
37                       public SALOME::GenericObj_i
38 {
39 public:
40     Elements_impl(HEXA_NS::Elements *ptrCpp);
41     HEXA_NS::Elements* GetImpl();
42
43     ::CORBA::Long countVertex() throw (SALOME::SALOME_Exception);
44     ::CORBA::Long countEdge() throw (SALOME::SALOME_Exception);
45     ::CORBA::Long countQuad() throw (SALOME::SALOME_Exception);
46     ::CORBA::Long countHexa() throw (SALOME::SALOME_Exception);
47     ::CORBA::Long findVertex( Vertex_ptr p ) throw (SALOME::SALOME_Exception);
48     Vertex_ptr getVertex(::CORBA::Long n) throw (SALOME::SALOME_Exception);
49     Edge_ptr getEdge(::CORBA::Long n) throw (SALOME::SALOME_Exception);
50     Quad_ptr getQuad(::CORBA::Long n) throw (SALOME::SALOME_Exception);
51     Hexa_ptr getHexa(::CORBA::Long n) throw (SALOME::SALOME_Exception);
52
53     Vertex_ptr getVertexIJK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
54
55     Edge_ptr getEdgeI(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
56     Edge_ptr getEdgeJ(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
57     Edge_ptr getEdgeK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
58
59     Quad_ptr getQuadIJ(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
60     Quad_ptr getQuadIK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
61     Quad_ptr getQuadJK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
62
63     Hexa_ptr getHexaIJK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
64
65 //     Quad_ptr getQuad1(EnumCoord dir, ::CORBA::Long nx, ::CORBA::Long ny, ::CORBA::Long nz)
66 //       throw (SALOME::SALOME_Exception);
67 // 
68 //     Edge_ptr getEdge1(EnumCoord dir, ::CORBA::Long nx, ::CORBA::Long ny, ::CORBA::Long nz)
69 //       throw (SALOME::SALOME_Exception);
70
71     ::CORBA::Long saveVtk(const char* fname) throw (SALOME::SALOME_Exception);
72     void  dump()                             throw (SALOME::SALOME_Exception);
73     void  printName()                        throw (SALOME::SALOME_Exception);
74     char* getName()                          throw (SALOME::SALOME_Exception);
75     void  setName (const char* name)         throw (SALOME::SALOME_Exception);
76     void  clearAssociation ()                throw (SALOME::SALOME_Exception);
77
78 private:
79   HEXA_NS::Elements *_elements_cpp;
80 //   void *_elements_cpp;
81
82 };
83
84 #endif