1 // Copyright (C) 2009-2013 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #ifndef __HexElements_impl__
20 #define __HexElements_impl__
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)
29 #include "SALOME_GenericObj_i.hh"
31 #include "hexa_base.hxx"
32 #include "HexElements.hxx"
34 using namespace HEXABLOCK_ORB;
36 class Elements_impl : public POA_HEXABLOCK_ORB::Elements,
37 public SALOME::GenericObj_i
40 Elements_impl(HEXA_NS::Elements *ptrCpp);
41 HEXA_NS::Elements* GetImpl();
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);
53 Vertex_ptr getVertexIJK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
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);
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);
63 Hexa_ptr getHexaIJK(::CORBA::Long x, ::CORBA::Long y, ::CORBA::Long z) throw (SALOME::SALOME_Exception);
65 // Quad_ptr getQuad1(EnumCoord dir, ::CORBA::Long nx, ::CORBA::Long ny, ::CORBA::Long nz)
66 // throw (SALOME::SALOME_Exception);
68 // Edge_ptr getEdge1(EnumCoord dir, ::CORBA::Long nx, ::CORBA::Long ny, ::CORBA::Long nz)
69 // throw (SALOME::SALOME_Exception);
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);
79 HEXA_NS::Elements *_elements_cpp;
80 // void *_elements_cpp;