]> SALOME platform Git repositories - modules/hexablock.git/blob - src/HEXABLOCK/HexSubShape.hxx
Salome HOME
Hexa6 : Mise ajour des sources
[modules/hexablock.git] / src / HEXABLOCK / HexSubShape.hxx
1
2 // class : Gestion des formes associees (Hexa 5)
3
4 #ifndef __SUB_SHAPE_H_
5 #define __SUB_SHAPE_H_
6
7 #include "HexEltBase.hxx"
8
9 #include <TopoDS_Shape.hxx>
10
11 BEGIN_NAMESPACE_HEXA
12
13 class SubShape : public EltBase
14 {
15 public :
16     SubShape (NewShape* dad, int id, int dim);
17     NewShape*   getParentShape() const  { return ss_parent; }
18     cpchar      getParentName () const;
19     int         getIdent ()             { return sub_ident ; }
20     int         getDim   ()             { return sub_dim ; }
21
22     const string&       getBrep  ();
23     virtual const TopoDS_Shape& getShape ();
24
25     void   saveXml (XmlWriter* xml);
26     void   callXml (XmlWriter* xml);
27
28 protected :
29     void updateShape  ();
30     void updateBrep   ();
31
32 protected :
33     NewShape* ss_parent;
34     int       sub_ident;
35     int       sub_dim;     // 0 = point, 1 = arete, 2 = face;
36
37     TopoDS_Shape geo_shape;
38     string       geo_brep;
39     bool         maj_brep, maj_shape;
40 };
41 END_NAMESPACE_HEXA
42 #endif