22 #include <dtkCoreSupport/dtkGlobal.h>
24 #include <dtkCoreSupport/dtkAbstractDataFactory.h>
25 #include <dtkCoreSupport/dtkAbstractProcessFactory.h>
29 class axlFieldParametricVolumeTangentVectorPrivate
101 double x = d->a*deriv1u->
x() + d->b*deriv1v->
x() + d->c*deriv1w->
x();
102 double y = d->a*deriv1u->
y() + d->b*deriv1v->
y()+ d->c*deriv1w->
y();
103 double z = d->a*deriv1u->
z() + d->b*deriv1v->
z()+ d->c*deriv1w->
z();
104 double *tangentTab =
new double[3];
122 return "axlFieldParametricVolumeTangentVector";
134 qstr.append(
"axlFieldParametricVolumeTangentVector : \n");
135 qstr.append(
"Type : Double ");
136 qstr.append(
";Kind : Vector ");
137 qstr.append(
";Support : Point");
150 if(dynamic_cast<axlAbstractVolumeParametric*>(data))
162 else if(channel == 1)
167 qDebug() <<
"only three possible channel values : 0 to 2";
177 else if(channel == 1)
182 qDebug() <<
"only three possible channel values : 0 to 2";
194 return d->input->startParam_u();
204 return d->input->startParam_v();
212 return d->input->startParam_w();
223 return d->input->endParam_u();
233 return d->input->endParam_v();
244 return d->input->endParam_w();
255 return d->input->numSamples_u();
263 return d->input->numSamples_v();
272 return d->input->numSamples_w();
281 return d->input->numSamples_u()*d->input->numSamples_v()*d->input->numSamples_w();
Class axlPoint defines 3D points.
double end_v(void)
Returns the last parameter value of the field.
double start_w(void)
Returns the first parameter value of the field.
double end_w(void)
Returns the last parameter value of the field.
double start_v(void)
Returns the first parameter value of the field.
double numbersample_v(void)
Returns the number of parameters.
virtual void update(void)
double end_u(void)
Returns the last parameter value of the field.
double start_u(void)
Returns the first parameter value of the field.
void setParameter(double parameter, int channel)
Sets the direction parameter for the tangentVector.
double numbersample_w(void)
Returns the number of parameters.
QString identifier(void) const
Returns the identifier of the field "axlFieldParametricVolumeTangentVector".
QString description(void) const
Returns the description of the field.
int size(void)
Returns the number of values evaluated for this BSpline field on each samples of the input BSpline...
axlMesh * mesh(void)
Return the mesh of that object is computed.
double * vector(double u, double v, double w)
Returns the value of the spatial field at the coordinates point entered.
dtkAbstractData * createaxlFieldParametricVolumeTangentVector(void)
axlFieldParametricVolumeTangentVector()
double numbersample_u(void)
Returns the number of parameters.
void setVolume(axlAbstractData *data)
Sets the BSpline on which the BSpline field is applied.
void vertex(const int &ind, double vertex[3])
set vertex values of vertices with index ind.
virtual ~axlFieldParametricVolumeTangentVector(void)
Destroys a Bspline field.
virtual void setType(Type type)
Sets the type of the field which can be either int, float or double.
Class axlAbstractFieldParametricVolume defines an API for parametric field.
virtual void setSupport(Support support)
virtual void setKind(Kind kind)
Sets the kind of the field which can be either scalar, vector or tensor.
double parameter(int channel)
Returns the direction parameter for the tangentVector, the channel-th one.
Class axlAbstractData defines an API for all type of axel data.
Class axlFieldParametricVolumeTangentVector defines an API for field which owns a BSpline Surface as ...
Class axlMesh defines a piecewise-linear 3D object.