Salome HOME
Merge with version on tag OCC-V2_1_0d
[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
8 #include CORBA_SERVER_HEADER(SALOMEDS)
9 #include CORBA_SERVER_HEADER(GEOM_Gen)
10
11 #include "SALOME_GenericObj_i.hh"
12 #include "GEOM_Object.hxx"
13 #include <TopoDS_Shape.hxx>
14
15 class GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual SALOME::GenericObj_i
16 {
17  public:
18    GEOM_Object_i(PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine, Handle(GEOM_Object) theImpl);
19    ~GEOM_Object_i();
20   
21   virtual char* GetEntry();
22   
23   virtual CORBA::Long GetStudyID();
24   
25   virtual CORBA::Long GetType();
26
27   virtual GEOM::shape_type GetShapeType(); 
28
29   virtual void SetName(const char* theName);
30
31   virtual char* GetName();    
32
33   virtual void SetStudyEntry(const char* theEntry);
34
35   virtual char* GetStudyEntry();    
36
37   virtual GEOM::ListOfGO* GetDependency();
38
39   virtual GEOM::ListOfGO* GetLastDependency();
40
41   virtual SALOMEDS::TMPFile* GetShapeStream();
42
43   long getShape();
44
45   virtual bool IsMainShape() { return _impl->IsMainShape(); }
46
47   virtual GEOM::ListOfLong* GetSubShapeIndices(); 
48  
49   virtual GEOM::GEOM_Object_ptr GetMainShape();
50
51   virtual bool IsShape();   
52
53   Handle(GEOM_Object) GetImpl() { return _impl; }
54
55  private:
56
57   GEOM::GEOM_Gen_ptr _engine; 
58   Handle(GEOM_Object) _impl;     
59   TopoDS_Shape _geom;
60 };
61
62 #endif