Salome HOME
Avoid including of SALOMEDS classes; fix pb with objects deletion
[modules/geom.git] / src / GEOM_I / GEOM_Object_i.hh
1
2 #ifndef _GEOM_Object_i_HeaderFile
3 #define _GEOM_Object_i_HeaderFile
4
5
6 #include <SALOMEconfig.h>
7 #include CORBA_CLIENT_HEADER(SALOMEDS)
8 #include CORBA_SERVER_HEADER(GEOM_Gen)
9
10 #include "SALOME_GenericObj_i.hh"
11
12 #include "GEOM_Object.hxx"
13
14 #include <TopoDS_Shape.hxx>
15
16 class GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual SALOME::GenericObj_i
17 {
18  public:
19    GEOM_Object_i(PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine, Handle(GEOM_Object) theImpl);
20    ~GEOM_Object_i();
21
22   virtual char* GetEntry();
23
24   virtual CORBA::Long GetStudyID();
25
26   virtual CORBA::Long GetType();
27
28   virtual GEOM::shape_type GetShapeType();
29
30   virtual void SetName(const char* theName);
31
32   virtual char* GetName();
33
34   virtual void SetStudyEntry(const char* theEntry);
35
36   virtual char* GetStudyEntry();
37
38   virtual GEOM::ListOfGO* GetDependency();
39
40   virtual GEOM::ListOfGO* GetLastDependency();
41
42   virtual SALOMEDS::TMPFile* GetShapeStream();
43
44   long getShape();
45
46   virtual bool IsMainShape() { return _impl->IsMainShape(); }
47
48   virtual GEOM::ListOfLong* GetSubShapeIndices();
49
50   virtual GEOM::GEOM_Object_ptr GetMainShape();
51
52   virtual bool IsShape();
53
54   Handle(GEOM_Object) GetImpl() { return _impl; }
55
56  private:
57
58   GEOM::GEOM_Gen_ptr _engine;
59   Handle(GEOM_Object) _impl;
60   TopoDS_Shape _geom;
61 };
62
63 #endif