Salome HOME
Abu : Mise a jour HEXABLOCK
[modules/hexablock.git] / src / HEXABLOCK / HexVertexShape.hxx
1
2 // class : Gestion des Sous-shapes categorie Vertex
3
4 #ifndef __NODE_SHAPE_H_
5 #define __NODE_SHAPE_H_
6
7 #include "HexSubShape.hxx"
8
9 BEGIN_NAMESPACE_HEXA
10
11 class HexaExport VertexShape : public SubShape
12 {
13 public :
14     VertexShape (NewShape* dad, int id);
15     VertexShape (NewShape* dad, int id, double* point);
16
17     void    addAssociation   (Vertex* elt);
18     int     countAssociation ()                { return tab_assoc.size(); }
19     Vertex* getAssociation   (int nro);
20
21     void getCoords (double& px, double& py, double& pz);
22     void saveXml (XmlWriter* xml);
23
24     // virtual const TopoDS_Shape& getShape(); // #mbarry
25     bool definedBy (double point[]);
26
27 private :
28     void updateCoords ();
29
30 private :
31     Real3  ss_coord;   // Pour les vertex
32     bool   maj_coords;
33     bool   free_point;
34     vector <Vertex*> tab_assoc;
35 };
36 END_NAMESPACE_HEXA
37 #endif