BRL-CAD
Collaboration diagram for NURBS:

Files

file  nurb_example.c
 
file  oslo_map.c
 
file  nurb_basis.c
 
file  nurb_bezier.c
 
file  nurb_bound.c
 
file  nurb_c2.c
 
file  nurb_copy.c
 
file  nurb_diff.c
 
file  nurb_eval.c
 
file  nurb_flat.c
 
file  nurb_interp.c
 
file  nurb_knot.c
 
file  nurb_norm.c
 
file  nurb_plot.c
 
file  nurb_poly.c
 
file  nurb_ray.c
 
file  nurb_refine.c
 
file  nurb_reverse.c
 
file  nurb_solve.c
 
file  nurb_split.c
 
file  nurb_tess.c
 
file  nurb_trim_util.c
 
file  nurb_util.c
 
file  nurb_xsplit.c
 

Functions

void rt_nurb_map_oslo (struct oslo_mat *oslo, fastf_t *old_pts, fastf_t *new_pts, int o_stride, int n_stride, int lower, int upper, int pt_type)
 
fastf_t rt_nurb_basis_eval (register struct knot_vector *knts, int interval, int order, fastf_t mu)
 

Detailed Description

Function Documentation

void rt_nurb_map_oslo ( struct oslo_mat *  oslo,
fastf_t old_pts,
fastf_t new_pts,
int  o_stride,
int  n_stride,
int  lower,
int  upper,
int  pt_type 
)
fastf_t rt_nurb_basis_eval ( register struct knot_vector *  knts,
int  interval,
int  order,
fastf_t  mu 
)

This uses the traditional De Boor-Cox algorithm,

D[k, i] (u) =

  U[i+n-k] - mu                   mu - U[i-1]
  ________________ D[k-1, i-1] (mu)+_________________  D[k-1, i] (mu)
  U[i+n-k] - U[i-1]                    U[i+n-k] - U[i-1]

For U[i-1]] <= mu < U[i] where U is the knot vector, k is the order, and i is the interval. If the denominator is zero than the term is zero.

Arguments - knts - knot vector of type (struct knot_vector *) interval - where the parameter mu is defined above. order - Order of the b-spline. mu - value which the basis functions are to be evaluated.

Returns - fastf_t - a floating point value of the basis evaluation.

Reference - Farin G., "Curves and Surfaces for Computer Aided Geometric Design", Academic Press, New York 1988.

Definition at line 63 of file nurb_basis.c.

References ZERO.

Referenced by rt_nurb_interp_mat().