2 // class : Gestion des Sous-shapes categorie Edge
4 #ifndef __LIBE_SHAPE_H_
5 #define __LIBE_SHAPE_H_
7 #include "HexSubShape.hxx"
11 class HexaExport EdgeShape : public SubShape
14 EdgeShape (NewShape* dad, int id);
15 virtual ~EdgeShape () {}
17 void addAssociation (Edge* elt);
18 int countAssociation () { return tab_assoc.size(); }
19 Edge* getAssociation (int nro);
21 BRepAdaptor_Curve* getCurve ();
22 BRepAdaptor_Curve* makeCurve ();
23 void getCoords (double pstart[], double pend[]);
24 int getPoint (double param, double point[]);
25 double getParam (double point[]);
29 int onExtremity (double point[]);
30 bool definedBy (double p1[], double p2[]);
31 bool isLinear () { return kind_of == KS_Line ; }
33 static bool samePoints (double point1[], double point2[]);
34 virtual EnumKindOfShape kindOf ();
36 // void saveXml (XmlWriter* xml);
41 BRepAdaptor_Curve* lin_curve;
44 double lin_length, par_mini, par_maxi;
45 double lin_radius, lin_angle;