bs3_surface_bicubic
List of: Functions
Subjects: Construction Geometry, Spline Interface
Contents: Kernel

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
PDF/KERN/21FN3S1.PDF
HTM/DATA/KERN/KERN/21FN3S1/0005.HTM