20 #ifndef AXLABSTRACTVOLUMEBSPLINE_H
21 #define AXLABSTRACTVOLUMEBSPLINE_H
24 #include "axlCoreExport.h"
26 #include <dtkMathSupport/dtkVector3D.h>
28 class axlAbstractVolumeBSplinePrivate;
38 using axlAbstractVolumeParametric::copy;
41 virtual int countControlPoints(
void)
const;
42 virtual int countControlPoints_u(
void)
const;
43 virtual int countControlPoints_v(
void)
const;
44 virtual int countControlPoints_w(
void)
const;
46 virtual int knotVectorSize_u(
void)
const;
47 virtual int knotVectorSize_v(
void)
const;
48 virtual int knotVectorSize_w(
void)
const;
50 virtual int order_u(
void)
const;
51 virtual int order_v(
void)
const;
52 virtual int order_w(
void)
const;
54 virtual double getCoord(
int n,
int m,
int k,
int v)
const;
55 virtual axlPoint getCoef(
int n,
int m,
int k)
const;
56 virtual axlPoint getCoef(
int n)
const;
59 virtual double getWeight(
int n,
int m,
int k)
const;
61 virtual bool setCoef(
int n,
int m,
int k,
int v,
double c);
62 virtual bool setCoef(
int n,
int m,
int k,
double *controlPoint);
63 virtual bool setCoef(
int n,
double *controlPoint);
65 virtual double getKnot_u(
int n)
const;
66 virtual double getKnot_v(
int n)
const;
67 virtual double getKnot_w(
int n)
const;
69 virtual void setVolume(
int pointsCount_u,
int pointsCount_v,
int pointsCount_w,
int order_u,
int order_v,
int order_w,
int dimension,
double *knots_u,
double *knots_v,
double *knots_w,
double *points,
bool rational);
71 virtual void insertKnot_u(
double k);
72 virtual void removeKnot_u(
double k);
74 virtual void insertKnot_v(
double k);
75 virtual void removeKnot_v(
double k);
77 virtual void insertKnot_w(
double k);
78 virtual void removeKnot_w(
double k);
80 virtual bool rational(
void)
const;
82 virtual QVector<axlPoint *> sampling();
84 virtual void gridEvaluator(
int num_u,
int num_v,
int num_w, std::vector<double>& points, std::vector<double>& param_u, std::vector<double>& param_v,std::vector<double>& param_w);
86 virtual QString printCoeffs(
bool print)
const;
87 virtual QString printKnotsVector(
bool print)
const;
89 virtual QString description(
void)
const;
91 virtual void updateRcoeff();
94 double scalarValue(
double u,
double v,
double w);
95 void setScalarValue(
double u,
double v,
double w,
double value);
99 virtual bool connectionsAreDefined(
void);
100 virtual QList<int> getControlPointConnection(
int i);
101 virtual void defineControlPointConnection(
int i,
int j);
103 virtual void resetControlPointConnections(
void);
113 void samplingChanged(
void);
114 void indexSelected(
int);
117 axlAbstractVolumeBSplinePrivate *d;
Class axlPoint defines 3D points.
virtual int convertQVariantToData(const QVariantList &data)
Modify properties and geometry variables of the axlAbstractData. Return 1 if the modification was suc...
virtual QVariantList convertDataToQVariant(void) const
Convert an axlAbstractData into a QVariantList that specifies all properties of the axlAbstractData...
virtual void selectIndex(int i)