22 #include <dtkCoreSupport/dtkGlobal.h>
24 #include <dtkCoreSupport/dtkAbstractDataFactory.h>
25 #include <dtkCoreSupport/dtkAbstractProcessFactory.h>
30 class axlFieldParametricSurfaceTangentVectorPrivate
86 qDebug() <<
"Getting vector value on non vector field.";
96 double x = d->a*deriv1u->
x() + d->b*deriv1v->
x();
97 double y = d->a*deriv1u->
y() + d->b*deriv1v->
y();
98 double z = d->a*deriv1u->
z() + d->b*deriv1v->
z();
114 return "axlFieldParametricSurfaceTangentVector";
126 qstr.append(
"axlFieldParametricSurfaceTangentVector : \n");
127 qstr.append(
"Type : Double ");
128 qstr.append(
";Kind : Vector ");
129 qstr.append(
";Support : Point");
142 if(dynamic_cast<axlAbstractSurfaceBSpline*>(data))
154 else if(channel == 1)
157 qDebug() <<
"only two possible channel values : 0 and 1";
167 else if(channel == 1)
170 qDebug() <<
"channel has only two values : 0 and 1.";
183 return d->input->startParam_u();
193 return d->input->startParam_v();
203 return d->input->endParam_u();
213 return d->input->endParam_v();
224 return d->input->numSamples_u();
232 return d->input->numSamples_v();
242 return d->input->numSamples_u()*d->input->numSamples_v();
double end_u(void)
Returns the last parameter value of the field.
Class axlPoint defines 3D points.
dtkAbstractData * createaxlFieldParametricSurfaceTangentVector(void)
double * vector(double u, double v, double w=0.)
Returns the value of the spatial field at the coordinates point entered.
double * coordinates(void) const
Returns coordinates of this point.
double numbersample_v(void)
Returns the number of parameters.
double parameter(int channel)
Returns the direction parameter for the tangentVector, for the channel-th.
QString identifier(void) const
Returns the identifier of the field "axlFieldParametricSurfaceTangentVector".
virtual void update(void)
QString description(void) const
Returns the description of the field.
axlMesh * mesh(void)
Return the mesh of that object is computed.
double start_u(void)
Returns the first parameter value of the field.
axlFieldParametricSurfaceTangentVector()
double start_v(void)
Returns the first parameter value of the field.
void vertex(const int &ind, double vertex[3])
set vertex values of vertices with index ind.
virtual ~axlFieldParametricSurfaceTangentVector(void)
Destroys a Bspline field.
int size(void)
Returns the number of values evaluated for this BSpline field on each samples of the input BSpline...
Class axlFieldParametricSurfaceTangentVector defines an API for field which owns a BSpline Surface as...
void setSurface(axlAbstractData *data)
Sets the BSpline on which the BSpline field is applied.
void setParameter(double parameter, int channel)
Sets the direction parameter for the tangentVector.
virtual void setType(Type type)
Sets the type of the field which can be either int, float or double.
double end_v(void)
Returns the last parameter value of the field.
virtual void setSupport(Support support)
double numbersample_u(void)
Returns the number of parameters.
Class axlAbstractFieldParametricSurface defines an API for parametric field.
virtual void setKind(Kind kind)
Sets the kind of the field which can be either scalar, vector or tensor.
void setCoordinates(double x, double y, double z)
Change coordinates of this point.
Class axlAbstractData defines an API for all type of axel data.
Class axlMesh defines a piecewise-linear 3D object.