]> SALOME platform Git repositories - modules/hexablock.git/blob - src/HEXABLOCK/HexEdgeShape.hxx
Salome HOME
e68c38a0c267a65d2a8862349405a2578caeeed5
[modules/hexablock.git] / src / HEXABLOCK / HexEdgeShape.hxx
1
2 // class : Gestion des Sous-shapes categorie Edge
3
4 #ifndef __LIBE_SHAPE_H_
5 #define __LIBE_SHAPE_H_
6
7 #include "HexSubShape.hxx"
8
9 BEGIN_NAMESPACE_HEXA
10
11 class EdgeShape : public SubShape
12 {
13 public :
14     EdgeShape (NewShape* dad, int id);
15
16     void  addAssociation   (Edge* elt);
17     int   countAssociation ()                { return tab_assoc.size(); }
18     Edge* getAssociation   (int nro);
19
20     BRepAdaptor_Curve* getCurve ();
21     BRepAdaptor_Curve* makeCurve ();
22     void    getCoords (double pstart[], double pend[]);
23     int     getPoint  (double param,    double point[]);
24     double  getParam  (double point[]);
25     double  getLength ();
26     int     onExtremity (double point[]);
27
28     static bool samePoints (double point1[], double point2[]);
29
30     // void   saveXml (XmlWriter* xml);
31 private :
32     void updateCurve ();
33
34 private :
35     BRepAdaptor_Curve* lin_curve;
36     Real3  lin_start;
37     Real3  lin_end;
38     double lin_length, par_mini, par_maxi;
39
40     bool  maj_curve;
41     Edges tab_assoc;
42 };
43 END_NAMESPACE_HEXA
44 #endif