19 #include <dtkCoreSupport/dtkGlobal.h>
21 #include <dtkCoreSupport/dtkAbstractDataFactory.h>
22 #include <dtkCoreSupport/dtkAbstractProcessFactory.h>
27 class axlFieldParametricCurvePrivate
120 qDebug() <<
"Getting scalar value on non scalar field.";
123 return d->function->eval(u).x();
136 qDebug() <<
"Getting vector value on non vector field.";
139 return d->function->eval(u).coordinates();
150 qDebug() <<
"Getting tensor value on non tensor field.";
184 qstr.append(
"axlFieldParametricCurve : \n");
188 qstr.append(
"Type : integer");
191 qstr.append(
"Type : Float");
194 qstr.append(
"Type : Double");
197 qDebug() <<
"Unsupported field type";
203 qstr.append(
";Kind : Scalar");
206 qstr.append(
";Kind : Vector");
209 qstr.append(
";Kind : Tensor");
212 qDebug() <<
";Unsupported field kind";
217 qstr.append(
";Support : Point");
220 qstr.append(
";Support : Cell");
223 qstr.append(
";Support : Custom");
226 qDebug() <<
";No support";
241 return "axlFieldParametricCurve";
249 if(dynamic_cast<axlAbstractCurveParametric*>(data))
267 if(dynamic_cast<axlAbstractCurveParametric *>(data))
277 return d->input->startParam();
287 return d->input->endParam();
297 return d->input->numSamples();
306 return d->input->numSamples();
virtual double * vector(double u, double v=0., double w=0.)
Returns the value of the spatial field at the coordinates point entered.
double start_u(void)
Returns the first parameter value of the field.
virtual ~axlFieldParametricCurve(void)
Destroys a Bspline field.
dtkAbstractData * createaxlFieldParametricCurve(void)
virtual QString identifier(void) const
Returns the identifier of the field "axlFieldParametricCurve".
virtual double scalar(double u, double v=0., double w=0.)
Returns the value of the spatial field at the coordinates point entered.
Class axlFieldParametricCurve defines an API for field which owns a BSpline curve.
Class axlAbstractFieldParametricCurve defines an API for parametric field.
virtual QString description(void) const
Returns the description of the field.
Generic interface for parametric curve.
double numbersample_u(void)
Returns the number of parameters.
virtual void update(void)
void setFunction(axlAbstractData *data)
Sets the Bspline function which determines the values of the BSpline field.
void setCurve(axlAbstractData *data)
Sets the curve on which the parametric field is applied.
double end_u(void)
Returns the last parameter value of the field.
axlFieldParametricCurve()
axlAbstractData * getFunction(void)
Returns the Bspline function which determines the values of the BSpline field.
Class axlAbstractData defines an API for all type of axel data.
int size(void)
Returns the number of values evaluated for this parametric field on each samples of the input curve...
virtual double * tensor(double u, double v=0., double w=0.)
Returns the value of the spatial field at the coordinates point entered.