Action:
|
Fits a mesh of points to a bs3_surface.
|
|
|
|
Prototype:
|
bs3_surface bs3_surface_fit (
|
|
|
double fittol,
|
// fit tolerance
|
|
|
int num_u,
|
// number of points in u
|
|
|
int num_v,
|
// number of points in v
|
|
|
const SPAposition pts[],
|
// points
|
|
|
const SPAunit_vector
|
// u derivatives
|
|
|
|
du_s[],
|
// at start
|
|
|
const SPAunit_vector du_e[]// u derivatives at end
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/position.hxx"
|
|
#include "baseutil/vector/unitvec.hxx"
|
|
#include "kernel/spline/bs3_srf/bs3surf.hxx"
|
|
#include "kernel/spline/sg_bs3s/sps3srtn.hxx"
|
|
Description:
|
Fits a mesh of points using optionally specified start and end derivatives in the u direction only. The start and end derivatives must all be specified or all be NULL.
|
|
|
The control points are contained in an array of positions. The v index varies first. That is, a row of v control points for the first u value is specified first. Then, the row of v control points for the next u value. The (num_v) u tangent vectors are specified in increasing v order.
|
|
Errors:
|
If an error occurs, this routine returns a NULL surface.
|
|
Limitations:
|
The distance between any two adjacent points to be fitted can not be within tolerance. However the fit points can be the same at the start and end for closed surfaces, and similarly for other types of configurations which result in self-intersecting surfaces.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/spline/sg_bs3s/sp3srtn.hxx
|
|
Effect:
|
Changes model
|