Action:
|
Creates a surface that is a bi-cubic interpolant.
|
|
Prototype:
|
bs3_surface bs3_surface_bicubic (
|
|
|
int num_upts,
|
// number of knots in u
|
|
|
int num_vpts,
|
// number of knots in v
|
|
|
double u_params[],
|
// u knots, size num_upts
|
|
|
double v_params[],
|
// v knots, size num_vpts
|
|
|
SPAposition points[],
|
// points on surface
|
|
|
|
|
// implicit 2D array
|
|
|
SPAvector u_tans[],
|
// tangent vectors in u
|
|
|
|
|
// direction - implicit
|
|
|
|
|
// 2D array
|
|
|
SPAvector v_tans[],
|
// tangent vectors in v
|
|
|
|
|
// direction - implicit
|
|
|
|
|
// 2D array
|
|
|
SPAvector twists[]
|
// twist vectors -
|
|
|
|
|
// implicit 2D array
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/position.hxx"
|
|
#include "baseutil/vector/vector.hxx"
|
|
#include "kernel/spline/bs3_srf/bs3surf.hxx"
|
|
#include "kernel/spline/sg_bs3s/sps3srtn.hxx"
|
|
Description:
|
This routine interpolates a mesh of points,
u tangent,
v tangents and twist vectors at each point. A
bs3_surface is constructed and returned as the function return. The routine also requires knot values associated with each point that is interpolated in both
u and
v direction.
|
|
|
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 other 2D arrays are specified in the same order.
|
|
|
The size of the points,
u_trans,
v_trans, and
twists arrays is
num_upts*num_vpts, and the ordering is
[num_upts][num_vpts].
|
|
Errors:
|
If an error occurs, the function returns a
NULL surface.
|
|
Limitations:
|
No two adjacent points to be interpolated can be same within tolerance. However the interpolated points can be same at start and end for closed surfaces, so does other types of configurations are allowed which result in self-intersecting surfaces.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/spline/sg_bs3s/sps3srtn.hxx
|
|
Effect:
|
Changes model
|