Action:
|
Gets an arbitrary number of derivatives of a curve.
|
|
Prototype:
|
int bs3_curve_evaluate (
|
|
|
double param,
|
// given parameter
|
|
|
bs3_curve cur,
|
// given curve
|
|
|
SPAposition& pos,
|
// returned position
|
|
|
SPAvector* const*
|
// returned pointer to
|
|
|
|
= NULL,
|
// derivatives
|
|
|
int nd
|
// number of derivatives
|
|
|
|
= 0,
|
// to be evaluated
|
|
|
int index
|
// -ve to evaluate the
|
|
|
|
= 0
|
// left-hand derivative
|
|
|
|
|
// at a knot, +ve to
|
|
|
|
|
// evaluate the
|
|
|
|
|
// right-hand derivative,
|
|
|
|
|
// 0 for "don't care".
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/position.hxx"
|
|
#include "baseutil/vector/vector.hxx"
|
|
#include "kernel/spline/bs3_crv/bs3curve.hxx"
|
|
#include "kernel/spline/bs3_crv/sp3crtn.hxx"
|
|
Description:
|
General evaluator, giving an arbitrary number of derivatives (up to a maximum returned by
accurate_derivs), and selection of the handedness of derivatives at discontinuities. This routine returns the number of derivatives actually evaluated. Any derivatives requested but beyond the maximum are set to 0.0.
|
|
|
deriv must point to an array of locations into which the calculated derivatives are placed. It must contain at least
nd pointers, but any pointer may be
NULL to indicate that that derivative is not required.
|
|
|
nd specifies the number of derivatives that should be calculated.
|
|
|
index is negative to evaluate the left-hand derivative at a knot and positive to evaluate the right-hand derivative at a knot, or 0 for don't care about discontinuities.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/spline/bs3_crv/sp3crtn.hxx
|
|
Effect:
|
Read-only
|