20 #ifndef AXLABSTRACTSURFACEBSPLINE_H
21 #define AXLABSTRACTSURFACEBSPLINE_H
24 #include "axlCoreExport.h"
26 #include <dtkMathSupport/dtkVector3D.h>
30 class axlAbstractSurfaceBSplinePrivate;
40 using axlAbstractSurfaceParametric::copy;
43 virtual int countControlPoints(
void)
const;
44 virtual int countControlPoints_u(
void)
const;
45 virtual int countControlPoints_v(
void)
const;
47 virtual int knotVectorSize_u(
void)
const;
48 virtual int knotVectorSize_v(
void)
const;
50 virtual int order_u(
void)
const;
51 virtual int order_v(
void)
const;
53 virtual double getCoord(
int n,
int m,
int v)
const;
54 virtual axlPoint getCoef(
int n,
int m)
const;
55 virtual axlPoint getCoef(
int n )
const;
58 virtual double getWeight(
int n,
int m)
const;
60 virtual bool setCoef(
int n,
int m,
int v,
double c);
61 virtual bool setCoef(
int n,
int m,
double *controlPoint);
62 virtual bool setCoef(
int n,
double *controlPoint);
64 virtual double getKnot_u(
int n)
const;
65 virtual double getKnot_v(
int n)
const;
67 virtual void setSurface(
int pointsCount_u,
int pointsCount_v,
int order_u,
int order_v,
int dimension,
double *knots_u,
double *knots_v,
double *points,
bool rational);
70 virtual void updateRcoeff();
72 virtual void insertKnot_u(
double k);
73 virtual void removeKnot_u(
double k);
75 virtual void insertKnot_v(
double k);
76 virtual void removeKnot_v(
double k);
78 virtual bool rational(
void)
const;
80 virtual QVector<axlPoint *> sampling();
82 virtual void gridEvaluator(
int num_u,
int num_v, std::vector<double>& points, std::vector<double>& param_u, std::vector<double>& param_v);
84 virtual QString printCoeffs(
bool print)
const;
85 virtual QString printKnotsVector(
bool print)
const;
87 virtual QString description(
void)
const;
95 double scalarValue(
double u,
double v);
96 void setScalarValue(
double u,
double v,
double value);
99 virtual bool connectionsAreDefined(
void);
101 virtual QList<int> getControlPointConnection(
int i);
102 virtual void defineControlPointConnection(
int i,
int j);
104 virtual void resetControlPointConnections(
void);
110 void samplingChanged(
void);
111 void edgeSelected(
int numEdge,
int previous,
int n);
112 void indexSelected(
int i);
113 void modifiedControlPoints(
void);
116 axlAbstractSurfaceBSplinePrivate *d;
Class axlPoint defines 3D points.
virtual void selectIndex(int i)
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...
Class axlMesh defines a piecewise-linear 3D object.