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