Developer documentation | Axl-2.5.1

axlCompositeCurve.h
Go to the documentation of this file.
1 /* axlCompositeCurve
2  * author: Hung NGUYEN Sep, 2014
3  *
4  */
5 
6 #ifndef AXL_CURVE_COMPOSITE_H
7 #define AXL_CURVE_COMPOSITE_H
8 
9 
10 #include "axlCoreExport.h"
11 #include "axlPoint.h"
13 #include <QtCore>
14 
15 /*
16  * This class is implemented for the composite curve. The curve type is created by many "basic" curve (segment, arc, BSpline curve,...) inside. These "inside" curve
17  * should be connected by the end point. These curve should belongs to the group of parametric curves????
18  */
19 
20 class axlCompositeCurvePrivate;
22 {
23  Q_OBJECT
24 public:
25  axlCompositeCurve(QObject *parent = 0);
26  axlCompositeCurve(bool Case,QObject *parent = 0);
28 
29  //There are two cases for Composite curve:
30  // 1st: List of basic curves --- Case = True
31  // 2nd: Just two points --- Case = False
32  // More details: see Composite curve type 102, IGES.
33  void setCase(bool Case);
34  bool getCase();
35 
36  axlAbstractCurve get_curve_at_id(int id) const;
37  axlAbstractCurve *get_pt_curve_at_id(int id) const;
38  const axlAbstractCurve& get_ref_curve_at_id(int id) const;
39 
40  int count_curve(void) const;
41 
42  void insert_list_curves(const QList<axlAbstractCurve>& data_curves);
43  void insert_list_curves(const QList<axlAbstractCurve *>& data_curve);
44  void insert_curve(axlAbstractCurve *curve, int id_want_inserted);
45  void insert_curve(axlAbstractCurve curve, int id_want_inserted);
46  void append_curve(const axlAbstractCurve& curve);
47  void append_curve(axlAbstractCurve* curve);
48  void append_point(const axlPoint& startPoint,const axlPoint& endPoint);
49  void append_point(axlPoint *startPoint, axlPoint *endPoint);
50  axlPoint *get_start_point();
51  axlPoint *get_end_point();
52 
53  void remove_last_curve();
54  void remove_curve_at_id(int id_want_remove);
55 
56  virtual QString description(void) const;
57  virtual QString identifier(void) const;
58 
59  axlCompositeCurve& operator =(const axlCompositeCurve& other);
60 
61 private:
62  axlCompositeCurvePrivate *d;
63 };
64 
65 dtkAbstractData *createaxlCompositeCurve(void);
66 
67 #endif
Class axlPoint defines 3D points.
Definition: axlPoint.h:34
dtkAbstractData * createaxlCompositeCurve(void)
Generic interface for parametric curve.
#define AXLCORE_EXPORT