]> SALOME platform Git repositories - modules/geom.git/blob - src/GEOM_I/GEOM_Object_i.hh
Salome HOME
2d1ecaad6da033cc42452c21392ba77cee8621e8
[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   Handle(GEOM_Object) GetImpl() { return _impl; }
52
53  private:
54
55   GEOM::GEOM_Gen_ptr _engine; 
56   Handle(GEOM_Object) _impl;     
57   TopoDS_Shape _geom;
58 };
59
60 #endif