]> SALOME platform Git repositories - modules/hexablock.git/blob - src/HEXABLOCK/HexEdgeShape.hxx
Salome HOME
Undef max Visual Studio definition.
[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 "Hex_defines.hxx"
8 #include "HexSubShape.hxx"
9
10 BEGIN_NAMESPACE_HEXA
11
12 class HEXABLOCKENGINE_EXPORT EdgeShape : public SubShape
13 {
14 public :
15     EdgeShape (NewShape* dad, int id);
16     virtual ~EdgeShape () {}
17
18     void  addAssociation   (Edge* elt);
19     int   countAssociation ()                { return tab_assoc.size(); }
20     Edge* getAssociation   (int nro);
21
22     BRepAdaptor_Curve* getCurve ();
23     BRepAdaptor_Curve* makeCurve ();
24     void    getCoords (double pstart[], double pend[]);
25     int     getPoint  (double param,    double point[]);
26     double  getParam  (double point[]);
27     double  getLength ();
28     int     onExtremity (double point[]);
29
30     static bool samePoints (double point1[], double point2[]);
31
32     // void   saveXml (XmlWriter* xml);
33 private :
34     void updateCurve ();
35
36 private :
37     BRepAdaptor_Curve* lin_curve;
38     Real3  lin_start;
39     Real3  lin_end;
40     double lin_length, par_mini, par_maxi;
41
42     bool  maj_curve;
43     Edges tab_assoc;
44 };
45 END_NAMESPACE_HEXA
46 #endif