19 #include <dtkCoreSupport/dtkGlobal.h>
21 #include <dtkCoreSupport/dtkAbstractDataFactory.h>
22 #include <dtkCoreSupport/dtkAbstractProcessFactory.h>
27 class axlFieldParametricSurfacePrivate
120 qDebug() <<
"Getting scalar value on non scalar field.";
124 return d->function->eval(u,v).x();
136 qDebug() <<
"Getting vector value on non vector field.";
139 return d->function->eval(u,v).coordinates();
150 qDebug() <<
"Getting tensor value on non tensor field.";
183 return "axlFieldParametricSurface";
194 qstr.append(
"axlFieldParametricSurface : \n");
198 qstr.append(
"Type : integer");
201 qstr.append(
"Type : Float");
204 qstr.append(
"Type : Double");
207 qDebug() <<
"Unsupported field type";
213 qstr.append(
";Kind : Scalar");
216 qstr.append(
";Kind : Vector");
219 qstr.append(
";Kind : Tensor");
222 qDebug() <<
";Unsupported field kind";
227 qstr.append(
";Support : Point");
230 qstr.append(
";Support : Cell");
233 qstr.append(
";Support : Custom");
236 qDebug() <<
";No support";
248 qDebug() << Q_FUNC_INFO << 1;
249 if(dynamic_cast<axlAbstractSurfaceParametric*>(data)){
250 qDebug() << Q_FUNC_INFO << 2;
269 if(dynamic_cast<axlAbstractSurfaceBSpline*>(data))
280 return d->input->startParam_u();
290 return d->input->startParam_v();
300 return d->input->endParam_u();
310 return d->input->endParam_v();
321 return d->input->numSamples_u();
329 return d->input->numSamples_v();
339 return d->input->numSamples_u()*d->input->numSamples_v();
double numbersample_u(void)
Returns the number of parameters.
double end_v(void)
Returns the last parameter value of the field.
Class axlFieldParametricSurface defines an API for field which owns a BSpline Surface as a function a...
axlFieldParametricSurface()
int size(void)
Returns the number of values evaluated for this BSpline field on each samples of the input BSpline...
axlAbstractData * getFunction(void)
Returns the Bspline function which determines the values of the parametric field. ...
void setSurface(axlAbstractData *data)
Sets the BSpline on which the BSpline field is applied.
double start_u(void)
Returns the first parameter value of the field.
virtual double * tensor(double u, double v, double w=0)
Returns the value of the spatial field at the coordinates point entered.
virtual QString identifier(void) const
Returns the identifier of the field "axlFieldParametricSurface".
virtual ~axlFieldParametricSurface(void)
Destroys a Bspline field.
void setFunction(axlAbstractData *data)
Sets the Bspline function which determines the values of the parametric field.
double end_u(void)
Returns the last parameter value of the field.
virtual double scalar(double u, double v, double w=0)
Returns the value of the spatial field at the coordinates point entered.
double start_v(void)
Returns the first parameter value of the field.
virtual void update(void)
dtkAbstractData * createaxlFieldParametricSurface(void)
virtual double * vector(double u, double v, double w=0)
Returns the value of the spatial field at the coordinates point entered.
double numbersample_v(void)
Returns the number of parameters.
virtual QString description(void) const
Returns the description of the field.
Class axlAbstractFieldParametricSurface defines an API for parametric field.
Class axlAbstractData defines an API for all type of axel data.