24 #include <dtkCoreSupport/dtkGlobal.h>
29 class axlAbstractSurfaceParametricPrivate
34 QVector<axlPoint> samples;
42 d(new axlAbstractSurfaceParametricPrivate) {
58 DTK_DEFAULT_IMPLEMENTATION;
77 DTK_DEFAULT_IMPLEMENTATION;
87 DTK_DEFAULT_IMPLEMENTATION;
97 DTK_DEFAULT_IMPLEMENTATION;
98 DTK_UNUSED(x);DTK_UNUSED(y);DTK_UNUSED(z);
99 DTK_UNUSED(u);DTK_UNUSED(v);
104 DTK_DEFAULT_IMPLEMENTATION;
108 return dtkDeprecated::dtkVector3D<double>();
113 DTK_DEFAULT_IMPLEMENTATION;
118 DTK_UNUSED(u_from_right);
119 DTK_UNUSED(v_from_right);
120 DTK_UNUSED(resolution);
132 if (d->samples.size() == 0) {
140 for (
unsigned i = 0; i <= N; i++, u += du) {
142 for (
unsigned j = 0; j <= N; j++, v += dv) {
143 this->
eval(x,y,z, u, v);
152 for (
int k = 0; k < d->samples.size(); k++) {
162 dtkWarn() <<
"Closest parameter point:" << um << vm <<
"for" << point.
x() << point.
y() << point.
z();
168 DTK_DEFAULT_IMPLEMENTATION;
172 return dtkDeprecated::dtkVector3D<double>();
177 DTK_DEFAULT_IMPLEMENTATION;
186 DTK_DEFAULT_IMPLEMENTATION;
196 DTK_DEFAULT_IMPLEMENTATION;
206 DTK_DEFAULT_IMPLEMENTATION;
214 DTK_DEFAULT_IMPLEMENTATION;
221 DTK_DEFAULT_IMPLEMENTATION;
228 DTK_DEFAULT_IMPLEMENTATION;
235 DTK_DEFAULT_IMPLEMENTATION;
243 DTK_DEFAULT_IMPLEMENTATION;
250 DTK_DEFAULT_IMPLEMENTATION;
257 DTK_DEFAULT_IMPLEMENTATION;
264 DTK_DEFAULT_IMPLEMENTATION;
270 DTK_DEFAULT_IMPLEMENTATION;
275 DTK_DEFAULT_IMPLEMENTATION;
283 DTK_DEFAULT_IMPLEMENTATION;
290 DTK_DEFAULT_IMPLEMENTATION;
298 DTK_DEFAULT_IMPLEMENTATION;
305 DTK_DEFAULT_IMPLEMENTATION;
315 DTK_DEFAULT_IMPLEMENTATION;
316 DTK_UNUSED(numSamples);
321 DTK_DEFAULT_IMPLEMENTATION;
328 DTK_DEFAULT_IMPLEMENTATION;
335 DTK_DEFAULT_IMPLEMENTATION;
336 DTK_UNUSED(numSamples);
347 d->samples_u = samples;
358 d->samples_v = samples;
Class axlPoint defines 3D points.
virtual dtkDeprecated::dtkVector3D< double > eval2(double u, double v)
virtual void setNumSamples_v(int numSamples)
virtual double endParam_v(void)
virtual bool hasCells(void)
virtual double startParam_u(void)
virtual axlPoint eval(double u, double v)
virtual int numSamples_u(void)
const int & samples_u(void) const
virtual double endParam_u(void)
virtual void normal(axlPoint *normal, double u, double v)
virtual int stripes(void)
virtual void parameterOf(const axlPoint &point, double &um, double &vm)
virtual int countCells(void)
virtual void setStripes(int stripes)
axlAbstractSurfaceParametric(void)
virtual ~axlAbstractSurfaceParametric(void)
const int & samples_v(void) const
void setSamples_v(const int &color)
static double distance(const axlPoint &lhs, const axlPoint &rhs)
Returns the distance between lhs point and rhs point.
virtual double startParam_v(void)
virtual int numSamples_v(void)
virtual double area(double tol)
virtual void setNumSamples_u(int numSamples)
Class axlMesh defines a piecewise-linear 3D object.
void setSamples_u(const int &color)