1 // File : GEOM_Shape_i.hh
2 // Created : 29 november 2001
3 // Author : Lucien PIGNOLONI
5 // Copyright : OPEN CASCADE
9 #ifndef __GEOM_SHAPE_I_H__
10 #define __GEOM_SHAPE_I_H__
12 // SALOME config header
13 #include <SALOMEconfig.h>
15 // Standard C++ headers
19 #include CORBA_SERVER_HEADER(GEOM_Gen)
20 #include CORBA_SERVER_HEADER(GEOM_Shape)
23 #include <TopoDS_Shape.hxx>
24 #include <TopoDS_Vertex.hxx>
25 #include <TopExp_Explorer.hxx>
26 #include <BRep_Tool.hxx>
31 //=====================================================================
32 // GEOM_Shape_i : class definition
33 //=====================================================================
34 class GEOM_Shape_i: public POA_GEOM::GEOM_Shape,
35 public PortableServer::RefCountServantBase {
40 GEOM::GEOM_Gen_ptr _engine;
42 GEOM::shape_type _shapetype ; // enum defined in the IDL file (Occ topol. type of a shape)
44 GEOM::GEOM_Shape::ListOfSubShapeID _index;
48 char* _studyshapeid; // exists only if added in the study document
54 // no-arg constructor, doing nothing (for now ?)
57 // constructor to be called for servant creation
58 GEOM_Shape_i(TopoDS_Shape geom,
60 GEOM::GEOM_Gen_ptr engine,
61 const GEOM::GEOM_Shape::ListOfSubShapeID& index,
62 GEOM::shape_type sht = GEOM::SHAPE,
65 // destructor deleting the internal geometry structure
69 void Name(const char* name);
72 void MainName(const char* name);
75 void NameType(const char* name);
78 void IsMainShape(const bool abool);
81 void ShapeId(const char* shapeid);
84 void StudyShapeId(const char* studyshapeid);
86 GEOM::GEOM_Shape::ListOfSubShapeID* Index();
87 void Index(const GEOM::GEOM_Shape::ListOfSubShapeID&);
89 GEOM::shape_type ShapeType();
90 void ShapeType(GEOM::shape_type sht);
92 GEOM::GEOM_Shape::TMPFile* GetShapeStream();
94 GEOM::GEOM_Gen_ptr Engine();