Developer documentation | Axl-2.5.1

axlCompositeCurveConverter.h
Go to the documentation of this file.
1 #ifndef AXL_COMPOSITE_CURVE_H
2 #define AXL_COMPOSITE_CURVE_H
3 
4 #include "axlLine.h"
5 #include "axlPoint.h"
6 #include "axlCircleArc.h"
8 #include "axlCompositeCurve.h"
10 
11 class axlCompositeCurveConverterPrivate;
12 
14 {
15  Q_OBJECT
16 public:
19 
20  QString description (void) const;
21  QString identifier (void) const;
22 
23  QStringList fromTypes(void) const;
24  QString toType (void) const;
25 
26  static bool registered(void);
27  void setData(dtkAbstractData *data);
28 public slots:
29  axlMesh *toMesh(void);
30 
31 private:
32  axlCompositeCurveConverterPrivate *d;
33  static void addMesh2Mesh(axlMesh& mother_mesh, axlMesh *child_mesh);
34 
35 };
36 
37 //===========================================================================================================================
38 
39 /*
40  The functions support to create Mesh
41 */
42 void normalize(axlPoint& point);
43 double angle(axlPoint vCompute, axlPoint vRef, axlPoint normal);
44 double angleOfArc(const axlCircleArc *arc);
46 axlPoint *rotatePoint(double a, double b, double c, double x, double y,
47  double z, double u, double v, double w, double alpha);
48 axlPoint* RotatePoint(axlPoint a,axlPoint x,axlPoint u, double alpha);
49 axlPoint* RotatePoint(axlLine *line,axlPoint *x, double alpha);
50 QList<axlPoint *> Sampling(axlAbstractCurve *curve);
51 
52 //============================================================================================================================
53 
54 dtkAbstractDataConverter *createaxlCompositeCurveConverter(void);
55 
56 #endif
Class axlPoint defines 3D points.
Definition: axlPoint.h:34
Class axlLine defines 3D lines.
Definition: axlLine.h:35
double angle(axlPoint vCompute, axlPoint vRef, axlPoint normal)
dtkAbstractDataConverter * createaxlCompositeCurveConverter(void)
QList< axlPoint * > Sampling(axlAbstractCurve *curve)
void normalize(axlPoint &point)
axlPoint * rotatePoint(double a, double b, double c, double x, double y, double z, double u, double v, double w, double alpha)
axlPoint * RotatePoint(axlPoint a, axlPoint x, axlPoint u, double alpha)
double angleOfArc(const axlCircleArc *arc)
#define AXLCORE_EXPORT
axlPoint normalCCWArc(const axlCircleArc &arc)
virtual axlMesh * toMesh(void)
Mesh conversion.
Class axlMesh defines a piecewise-linear 3D object.
Definition: axlMesh.h:41