Salome HOME
First publish of HEXABLOCKcomponant
[modules/hexablock.git] / src / HEXABLOCK_I / HexEdge_impl.hxx
1 #ifndef __HexEdge_impl__
2 #define __HexEdge_impl__
3
4 #include <SALOMEconfig.h>
5 #include CORBA_SERVER_HEADER(Edge)
6 #include "SALOME_GenericObj_i.hh"
7
8 #include "hexa_base.hxx"
9 #include "HexEdge.hxx"
10
11 using namespace HEXABLOCK_ORB;
12
13 class Edge_impl : public POA_HEXABLOCK_ORB::Edge,
14                   public SALOME::GenericObj_i
15 {
16   struct Assoc {
17     GEOM::GEOM_Object_ptr geomObj;
18     double debut;
19     double fin;
20   };
21
22 public:
23   Edge_impl(HEXA_NS::Edge *ptrCpp);
24   HEXA_NS::Edge* GetImpl() throw (SALOME::SALOME_Exception);
25
26   ::CORBA::Boolean getWay() throw (SALOME::SALOME_Exception);
27   Vertex_ptr getVertex(::CORBA::Long n) throw (SALOME::SALOME_Exception);
28 //   void setAssociation(GEOM::GEOM_Object_ptr geom_object_1D) throw (SALOME::SALOME_Exception);
29 //   GEOM::GEOM_Object_ptr getAssociation() throw (SALOME::SALOME_Exception);
30 //   void removeAssociation() throw (SALOME::SALOME_Exception);
31   ::CORBA::Long addAssociation( GEOM::GEOM_Object_ptr geom_object_1D, double debut, double fin ) //CS_NOT_SPEC
32       throw (SALOME::SALOME_Exception);
33
34   EdgeAssociations* getAssociations () //CS_NOT_SPEC
35       throw (SALOME::SALOME_Exception);
36
37   void setScalar( ::CORBA::Double val )throw (SALOME::SALOME_Exception);
38   void dump() throw (SALOME::SALOME_Exception);
39   void printName() throw (SALOME::SALOME_Exception);
40
41 private:
42   HEXA_NS::Edge*      _edge_cpp;
43   std::vector<Assoc>  _associations;
44
45 };
46
47 #endif