Collaboration diagram for NURBS:
![]() |
Files | |
file | nurb.h |
Define surface and curve structures for Non Rational Uniform B-Spline (NURB) curves and surfaces. | |
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_example.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 |
file | oslo_map.c |
Data Structures | |
struct | rt_nurb_poly |
struct | rt_nurb_uv_hit |
struct | oslo_mat |
struct | bezier_2d_list |
Defines | |
#define | NURB_H seen |
#define | RT_NURB_SPLIT_ROW 0 |
#define | RT_NURB_SPLIT_COL 1 |
#define | RT_NURB_SPLIT_FLAT 2 |
#define | RT_NURB_PT_XY 1 |
x,y coordintes | |
#define | RT_NURB_PT_XYZ 2 |
x,y,z coordinates | |
#define | RT_NURB_PT_UV 3 |
trim u,v parameter space | |
#define | RT_NURB_PT_DATA 4 |
random data | |
#define | RT_NURB_PT_PROJ 5 |
Projected Surface. | |
#define | RT_NURB_PT_RATIONAL 1 |
#define | RT_NURB_PT_NONRAT 0 |
#define | RT_NURB_MAKE_PT_TYPE(n, t, h) ((n<<5) | (t<<1) | h) |
#define | RT_NURB_EXTRACT_COORDS(pt) (pt>>5) |
#define | RT_NURB_EXTRACT_PT_TYPE(pt) ((pt>>1) & 0x0f) |
#define | RT_NURB_IS_PT_RATIONAL(pt) (pt & 0x1) |
#define | RT_NURB_STRIDE(pt) (RT_NURB_EXTRACT_COORDS(pt) * sizeof( fastf_t)) |
#define | NMG_CK_KNOT(_p) BU_CKMAG(_p, RT_KNOT_VECTOR_MAGIC, "knot_vector") |
#define | NMG_CK_CNURB(_p) BU_CKMAG(_p, RT_CNURB_MAGIC, "cnurb") |
#define | NMG_CK_SNURB(_p) BU_CKMAG(_p, RT_SNURB_MAGIC, "snurb") |
#define | GET_CNURB(p) |
#define | GET_SNURB(p) |
#define | RT_CNURB_MAGIC 0x636e7262 |
#define | RT_SNURB_MAGIC 0x736e7262 |
#define | MAX(i, j) ( (i) > (j) ? (i) : (j) ) |
#define | MIN(i, j) ( (i) < (j) ? (i) : (j) ) |
Functions | |
RT_EXPORT fastf_t | rt_nurb_basis_eval (struct knot_vector *knts, int interval, int order, fastf_t mu) |
RT_EXPORT int | rt_nurb_bezier (struct bu_list *bezier_hd, const struct face_g_snurb *srf, struct resource *res) |
RT_EXPORT int | rt_bez_check (const struct face_g_snurb *srf) |
RT_EXPORT int | rt_nurb_s_bound (struct face_g_snurb *srf, point_t bmin, point_t bmax) |
RT_EXPORT int | rt_nurb_c_bound (struct edge_g_cnurb *crv, point_t bmin, point_t bmax) |
RT_EXPORT int | rt_nurb_s_check (struct face_g_snurb *srf) |
RT_EXPORT int | rt_nurb_c_check (struct edge_g_cnurb *crv) |
RT_EXPORT struct face_g_snurb * | rt_nurb_scopy (const struct face_g_snurb *srf, struct resource *res) |
RT_EXPORT struct face_g_snurb * | rt_nurb_s_diff (const struct face_g_snurb *srf, int dir) |
RT_EXPORT struct edge_g_cnurb * | rt_nurb_c_diff (const struct edge_g_cnurb *crv) |
RT_EXPORT void | rt_nurb_mesh_diff (int order, const fastf_t *o_pts, fastf_t *n_pts, const fastf_t *knots, int o_stride, int n_stride, int o_size, int pt_type) |
RT_EXPORT void | rt_nurb_s_eval (const struct face_g_snurb *srf, fastf_t u, fastf_t v, fastf_t *final_value) |
RT_EXPORT void | rt_nurb_c_eval (const struct edge_g_cnurb *crv, fastf_t param, fastf_t *final_value) |
RT_EXPORT fastf_t * | rt_nurb_eval_crv (fastf_t *crv, int order, fastf_t param, const struct knot_vector *k_vec, int k_index, int coords) |
RT_EXPORT void | rt_nurb_pr_crv (fastf_t *crv, int c_size, int coords) |
RT_EXPORT int | rt_nurb_s_flat (struct face_g_snurb *srf, fastf_t epsilon) |
RT_EXPORT fastf_t | rt_nurb_crv_flat (fastf_t *crv, int size, int pt_type) |
RT_EXPORT void | rt_nurb_kvknot (struct knot_vector *new_knots, int order, fastf_t lower, fastf_t upper, int num, struct resource *res) |
RT_EXPORT void | rt_nurb_kvmult (struct knot_vector *new_kv, const struct knot_vector *kv, int num, fastf_t val, struct resource *res) |
RT_EXPORT void | rt_nurb_kvgen (struct knot_vector *kv, fastf_t lower, fastf_t upper, int num, struct resource *res) |
RT_EXPORT void | rt_nurb_kvmerge (struct knot_vector *new_knots, const struct knot_vector *kv1, const struct knot_vector *kv2, struct resource *res) |
RT_EXPORT int | rt_nurb_kvcheck (fastf_t val, const struct knot_vector *kv) |
RT_EXPORT void | rt_nurb_kvextract (struct knot_vector *new_kv, const struct knot_vector *kv, int lower, int upper, struct resource *res) |
RT_EXPORT void | rt_nurb_kvcopy (struct knot_vector *new_kv, const struct knot_vector *old_kv, struct resource *res) |
RT_EXPORT void | rt_nurb_kvnorm (struct knot_vector *kv) |
RT_EXPORT int | rt_knot_index (const struct knot_vector *kv, fastf_t k_value, int order) |
RT_EXPORT void | rt_nurb_gen_knot_vector (struct knot_vector *new_knots, int order, fastf_t lower, fastf_t upper, struct resource *res) |
RT_EXPORT void | rt_nurb_s_norm (struct face_g_snurb *srf, fastf_t u, fastf_t v, fastf_t *norm) |
RT_EXPORT void | rt_nurb_curvature (struct curvature *cvp, const struct face_g_snurb *srf, fastf_t u, fastf_t v) |
RT_EXPORT void | rt_nurb_plot_snurb (FILE *fp, const struct face_g_snurb *srf) |
RT_EXPORT void | rt_nurb_plot_cnurb (FILE *fp, const struct edge_g_cnurb *crv) |
RT_EXPORT void | rt_nurb_s_plot (const struct face_g_snurb *srf) |
RT_EXPORT void | rt_nurb_cinterp (struct edge_g_cnurb *crv, int order, const fastf_t *data, int n) |
RT_EXPORT void | rt_nurb_sinterp (struct face_g_snurb *srf, int order, const fastf_t *data, int ymax, int xmax) |
RT_EXPORT struct rt_nurb_poly * | rt_nurb_to_poly (struct face_g_snurb *srf) |
RT_EXPORT struct rt_nurb_poly * | rt_nurb_mk_poly (fastf_t *v1, fastf_t *v2, fastf_t *v3, fastf_t uv1[2], fastf_t uv2[2], fastf_t uv3[2]) |
RT_EXPORT struct face_g_snurb * | rt_nurb_project_srf (const struct face_g_snurb *srf, plane_t plane1, plane_t plane2, struct resource *res) |
RT_EXPORT void | rt_nurb_clip_srf (const struct face_g_snurb *srf, int dir, fastf_t *min, fastf_t *max) |
RT_EXPORT struct face_g_snurb * | rt_nurb_region_from_srf (const struct face_g_snurb *srf, int dir, fastf_t param1, fastf_t param2, struct resource *res) |
RT_EXPORT struct rt_nurb_uv_hit * | rt_nurb_intersect (const struct face_g_snurb *srf, plane_t plane1, plane_t plane2, double uv_tol, struct resource *res) |
RT_EXPORT struct face_g_snurb * | rt_nurb_s_refine (const struct face_g_snurb *srf, int dir, struct knot_vector *kv, struct resource *res) |
RT_EXPORT struct edge_g_cnurb * | rt_nurb_c_refine (const struct edge_g_cnurb *crv, struct knot_vector *kv) |
RT_EXPORT void | rt_nurb_solve (fastf_t *mat_1, fastf_t *mat_2, fastf_t *solution, int dim, int coords) |
RT_EXPORT void | rt_nurb_doolittle (fastf_t *mat_1, fastf_t *mat_2, int row, int coords) |
RT_EXPORT void | rt_nurb_forw_solve (const fastf_t *lu, const fastf_t *b, fastf_t *y, int n) |
RT_EXPORT void | rt_nurb_back_solve (const fastf_t *lu, const fastf_t *y, fastf_t *x, int n) |
RT_EXPORT void | rt_nurb_p_mat (const fastf_t *mat, int dim) |
RT_EXPORT void | rt_nurb_s_split (struct bu_list *split_hd, const struct face_g_snurb *srf, int dir, struct resource *res) |
RT_EXPORT void | rt_nurb_c_split (struct bu_list *split_hd, const struct edge_g_cnurb *crv) |
RT_EXPORT struct face_g_snurb * | rt_nurb_new_snurb (int u_order, int v_order, int n_u_knots, int n_v_knots, int n_rows, int n_cols, int pt_type, struct resource *res) |
RT_EXPORT struct edge_g_cnurb * | rt_nurb_new_cnurb (int order, int n_knots, int n_pts, int pt_type) |
RT_EXPORT void | rt_nurb_free_snurb (struct face_g_snurb *srf, struct resource *res) |
RT_EXPORT void | rt_nurb_free_cnurb (struct edge_g_cnurb *crv) |
RT_EXPORT void | rt_nurb_c_print (const struct edge_g_cnurb *crv) |
RT_EXPORT void | rt_nurb_s_print (char *c, const struct face_g_snurb *srf) |
RT_EXPORT void | rt_nurb_pr_kv (const struct knot_vector *kv) |
RT_EXPORT void | rt_nurb_pr_mesh (const struct face_g_snurb *m) |
RT_EXPORT void | rt_nurb_print_pt_type (int c) |
RT_EXPORT struct face_g_snurb * | rt_nurb_s_xsplit (struct face_g_snurb *srf, fastf_t param, int dir) |
RT_EXPORT struct edge_g_cnurb * | rt_nurb_c_xsplit (struct edge_g_cnurb *crv, fastf_t param) |
RT_EXPORT struct oslo_mat * | rt_nurb_calc_oslo (int order, const struct knot_vector *tau_kv, struct knot_vector *t_kv, struct resource *res) |
RT_EXPORT void | rt_nurb_pr_oslo (struct oslo_mat *om) |
RT_EXPORT void | rt_nurb_free_oslo (struct oslo_mat *om, struct resource *res) |
RT_EXPORT 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) |
RT_EXPORT int | CrossingCount (point2d_t *V, int degree, point2d_t ray_start, point2d_t ray_dir, point2d_t ray_perp) |
RT_EXPORT int | ControlPolygonFlatEnough (point2d_t *V, int degree, fastf_t epsilon) |
RT_EXPORT void | Bezier (point2d_t *V, int degree, double t, point2d_t *Left, point2d_t *Right, point2d_t eval_pt, point2d_t normal) |
RT_EXPORT int | FindRoots (point2d_t *w, int degree, point2d_t **intercept, point2d_t **normal, point2d_t ray_start, point2d_t ray_dir, point2d_t ray_perp, int depth, fastf_t epsilon) |
RT_EXPORT struct bezier_2d_list * | subdivide_bezier (struct bezier_2d_list *bezier_hd, int degree, fastf_t epsilon, int depth) |
fastf_t | rt_nurb_basis_eval (register struct knot_vector *knts, int interval, int order, fastf_t mu) |
|
|
|
Definition at line 64 of file nurb.h. Referenced by nmg_snurb_to_vlist(), rt_nurb_clip_srf(), rt_nurb_curvature(), rt_nurb_intersect(), rt_nurb_new_snurb(), rt_nurb_par_edge(), rt_nurb_pbound(), rt_nurb_plot(), rt_nurb_region_from_srf(), rt_nurb_s_bound(), rt_nurb_s_check(), rt_nurb_s_diff(), rt_nurb_s_eval(), rt_nurb_s_flat(), rt_nurb_s_refine(), rt_nurb_s_split(), and rt_nurb_s_xsplit(). |
|
Definition at line 65 of file nurb.h. Referenced by nmg_snurb_to_vlist(), rt_nurb_curvature(), rt_nurb_par_edge(), rt_nurb_pbound(), rt_nurb_plot(), rt_nurb_project_srf(), rt_nurb_s_bound(), rt_nurb_s_check(), rt_nurb_s_eval(), and rt_nurb_s_flat(). |
|
|
|
x,y coordintes
Definition at line 83 of file nurb.h. Referenced by rt_arc2d_to_cnurb(), rt_nurb_print_pt_type(), and rt_nurb_to_poly(). |
|
x,y,z coordinates
Definition at line 84 of file nurb.h. Referenced by rt_arc2d_to_cnurb(), rt_nurb_cinterp(), rt_nurb_import5(), rt_nurb_print_pt_type(), rt_nurb_sinterp(), and rt_nurb_to_poly(). |
|
trim u,v parameter space
Definition at line 85 of file nurb.h. Referenced by nmg_cnurb_to_vlist(), rt_arc2d_to_cnurb(), rt_nmg_edisk(), rt_nmg_idisk(), rt_nurb_print_pt_type(), and rt_nurb_to_poly(). |
|
random data
Definition at line 86 of file nurb.h. Referenced by rt_arc2d_to_cnurb(). |
|
Projected Surface.
Definition at line 87 of file nurb.h. Referenced by rt_arc2d_to_cnurb(), and rt_nurb_project_srf(). |
|
Definition at line 89 of file nurb.h. Referenced by rt_arc2d_to_cnurb(), and rt_nurb_import5(). |
|
Definition at line 90 of file nurb.h. Referenced by nmg_cnurb_to_vlist(), rt_nurb_import5(), and rt_nurb_sinterp(). |
|
Definition at line 92 of file nurb.h. Referenced by get_seg_midpoint(), nmg_cnurb_to_vlist(), rt_arc2d_to_cnurb(), rt_nurb_cinterp(), rt_nurb_import5(), rt_nurb_project_srf(), and rt_nurb_sinterp(). |
|
|
Definition at line 94 of file nurb.h. Referenced by rt_nmg_edisk(), rt_nmg_idisk(), rt_nurb_print_pt_type(), and rt_nurb_to_poly(). |
|
|
|
|
|
|
Definition at line 101 of file nurb.h. Referenced by nmg_cnurb_to_vlist(), rt_nurb_c_diff(), rt_nurb_c_eval(), rt_nurb_c_print(), rt_nurb_c_refine(), rt_nurb_c_split(), rt_nurb_c_xsplit(), rt_nurb_clean_cnurb(), rt_nurb_crv_copy(), and rt_nurb_free_cnurb(). |
|
Definition at line 102 of file nurb.h. Referenced by nmg_snurb_to_vlist(), rt_bez_check(), rt_nurb_bezier(), rt_nurb_clean_snurb(), rt_nurb_describe(), rt_nurb_free(), rt_nurb_free_snurb(), rt_nurb_intersect(), rt_nurb_plot_snurb(), rt_nurb_pr_mesh(), rt_nurb_prep(), rt_nurb_s_diff(), rt_nurb_s_eval(), rt_nurb_s_refine(), rt_nurb_s_split(), rt_nurb_s_xsplit(), and rt_nurb_scopy(). |
|
Value: {BU_GETSTRUCT(p, edge_g_cnurb); \ /* NMG_INCR_INDEX(p,m); */ \ BU_LIST_INIT( &(p)->l ); (p)->l.magic = NMG_EDGE_G_CNURB_MAGIC; } Definition at line 104 of file nurb.h. Referenced by rt_nurb_c_xsplit(), and rt_nurb_new_cnurb(). |
|
Value: {BU_GETSTRUCT(p, face_g_snurb); \ /* NMG_INCR_INDEX(p,m); */ \ BU_LIST_INIT( &(p)->l ); (p)->l.magic = NMG_FACE_G_SNURB_MAGIC; } Definition at line 107 of file nurb.h. Referenced by rt_nurb_new_snurb(), rt_nurb_s_refine(), and rt_nurb_s_xsplit(). |
|
Definition at line 111 of file nurb.h. Referenced by nmg_cnurb_to_vlist(), and rt_nurb_sinterp(). |
|
Definition at line 113 of file nurb.h. Referenced by rt_nurb_sinterp(). |
|
Definition at line 139 of file nurb.h. Referenced by rt_nurb_s_flat(). |
|
|
|
Referenced by rt_nurb_basis_eval(), and rt_nurb_interp_mat(). |
|
Definition at line 66 of file nurb_bezier.c. Referenced by isect_ray_snurb_face(), and rt_nurb_prep(). |
|
Definition at line 99 of file nurb_bezier.c. Referenced by rt_nurb_bezier(). |
|
Referenced by nmg_face_bb(), and rt_nurb_prep(). |
|
|
|
|
|
|
|
Definition at line 49 of file nurb_copy.c. Referenced by rt_nurb_bezier(), and rt_nurb_prep(). |
|
Definition at line 65 of file nurb_diff.c. References face_g_snurb::ctl_points, knot_vector::k_size, knot_vector::knots, NMG_CK_SNURB, NULL, face_g_snurb::order, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, rt_nurb_mesh_diff(), rt_nurb_new_snurb(), RT_NURB_SPLIT_ROW, face_g_snurb::s_size, face_g_snurb::u, and face_g_snurb::v. Referenced by rt_nurb_curvature(), and rt_nurb_par_edge(). Here is the call graph for this function: ![]() |
|
Definition at line 139 of file nurb_diff.c. References edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, NMG_CK_CNURB, edge_g_cnurb::order, edge_g_cnurb::pt_type, RT_NURB_EXTRACT_COORDS, rt_nurb_mesh_diff(), and rt_nurb_new_cnurb(). Here is the call graph for this function: ![]() |
|
Definition at line 168 of file nurb_diff.c. References edge_g_cnurb::k, and RT_NURB_EXTRACT_COORDS. Referenced by rt_nurb_c_diff(), and rt_nurb_s_diff(). |
|
Definition at line 58 of file nurb_eval.c. References bu_log(), bu_malloc(), face_g_snurb::ctl_points, edge_g_cnurb::k, NMG_CK_SNURB, face_g_snurb::order, face_g_snurb::pt_type, rt_bomb(), RT_NURB_EXTRACT_COORDS, rt_nurb_knot_index(), rt_nurb_s_print(), RT_NURB_SPLIT_COL, RT_NURB_SPLIT_ROW, face_g_snurb::s_size, and face_g_snurb::u. Referenced by nmg_eval_linear_trim_curve(), nmg_eval_trim_curve(), nmg_snurb_fu_eval(), rt_conv_uv(), rt_nurb_curvature(), rt_nurb_intersect(), and rt_nurb_s_norm(). Here is the call graph for this function: ![]() |
|
Definition at line 129 of file nurb_eval.c. References bu_free(), bu_malloc(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_cnurb::k, NMG_CK_CNURB, edge_g_cnurb::order, edge_g_cnurb::pt_type, rt_nurb_eval_crv(), RT_NURB_EXTRACT_COORDS, and rt_nurb_knot_index(). Referenced by nmg_eval_trim_curve(), and nmg_snurb_calc_lu_uv_orient(). Here is the call graph for this function: ![]() |
|
Referenced by rt_nurb_c_eval(). |
|
Definition at line 194 of file nurb_eval.c. |
|
Definition at line 51 of file nurb_flat.c. References bu_malloc(), face_g_snurb::ctl_points, face_g_snurb::dir, INFINITY, MAX, face_g_snurb::pt_type, rt_nurb_crv_flat(), RT_NURB_EXTRACT_COORDS, RT_NURB_SPLIT_COL, RT_NURB_SPLIT_ROW, and face_g_snurb::s_size. Here is the call graph for this function: ![]() |
|
Definition at line 206 of file nurb_flat.c. References HDIVIDE, HMOVE, INFINITY, length, RT_NURB_EXTRACT_COORDS, RT_NURB_IS_PT_RATIONAL, SQRT_SMALL_FASTF, and VMOVE. Referenced by rt_nurb_s_flat(). |
|
Referenced by interpolate_data(), nmg_edge_g_cnurb(), rt_nurb_cinterp(), rt_nurb_plot(), and rt_nurb_sinterp(). |
|
Referenced by rt_nurb_c_xsplit(), and rt_nurb_s_xsplit(). |
|
Referenced by nmg_snurb_to_vlist(). |
|
Definition at line 146 of file nurb_knot.c. References bu_malloc(), knot_vector::k_size, and knot_vector::knots. Referenced by nmg_snurb_to_vlist(), and rt_nurb_kvmult(). Here is the call graph for this function: ![]() |
|
Referenced by rt_nurb_kvmult(). |
|
Referenced by rt_nurb_c_xsplit(), and rt_nurb_s_xsplit(). |
|
Referenced by rt_nurb_s_refine(), and rt_nurb_s_xsplit(). |
|
Referenced by interpolate_data(), and rt_nurb_import5(). |
|
|
|
Referenced by nmg_cnurb_to_vlist(). |
|
Definition at line 54 of file nurb_norm.c. References knot_vector::k_size, knot_vector::knots, face_g_snurb::order, rt_nurb_s_eval(), and face_g_snurb::u. Referenced by nmg_snurb_fu_get_norm(), and rt_nurb_norm(). Here is the call graph for this function: ![]() |
|
Definition at line 52 of file nurb_c2.c. References F, M, NULL, face_g_snurb::pt_type, rt_nurb_free_snurb(), RT_NURB_IS_PT_RATIONAL, rt_nurb_s_diff(), rt_nurb_s_eval(), RT_NURB_SPLIT_COL, RT_NURB_SPLIT_ROW, VCROSS, VDOT, and VUNITIZE. Referenced by rt_nurb_curve(). Here is the call graph for this function: ![]() |
|
Definition at line 58 of file nurb_plot.c. References face_g_snurb::ctl_points, NMG_CK_SNURB, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, RT_NURB_IS_PT_RATIONAL, and face_g_snurb::s_size. Referenced by interpolate_data(), and rt_nurb_s_plot(). |
|
Definition at line 130 of file nurb_plot.c. References edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_cnurb::pt_type, ptr, RT_NURB_EXTRACT_COORDS, and RT_NURB_IS_PT_RATIONAL. |
|
Definition at line 169 of file nurb_plot.c. References rt_nurb_plot_snurb(). Here is the call graph for this function: ![]() |
|
Definition at line 98 of file nurb_interp.c. References bcopy, bu_free(), bu_malloc(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_cnurb::k, NULL, edge_g_cnurb::order, edge_g_cnurb::pt_type, rt_nurb_interp_mat(), rt_nurb_kvknot(), RT_NURB_MAKE_PT_TYPE, rt_nurb_nodes(), RT_NURB_PT_XYZ, and rt_nurb_solve(). Referenced by rt_nurb_sinterp(). Here is the call graph for this function: ![]() |
|
Definition at line 168 of file nurb_interp.c. References bu_calloc(), bu_malloc(), face_g_snurb::ctl_points, face_g_snurb::dir, face_g_snurb::l, edge_g_cnurb::l, bu_list::magic, NULL, NVAL, face_g_snurb::order, face_g_snurb::pt_type, RT_CNURB_MAGIC, rt_nurb_cinterp(), rt_nurb_kvknot(), RT_NURB_MAKE_PT_TYPE, RT_NURB_PT_NONRAT, RT_NURB_PT_XYZ, RT_SNURB_MAGIC, face_g_snurb::s_size, face_g_snurb::u, and face_g_snurb::v. Referenced by interpolate_data(). Here is the call graph for this function: ![]() |
|
Definition at line 57 of file nurb_poly.c. References face_g_snurb::ctl_points, face_g_snurb::pt_type, RT_NURB_EXTRACT_PT_TYPE, RT_NURB_IS_PT_RATIONAL, RT_NURB_PT_UV, RT_NURB_PT_XY, RT_NURB_PT_XYZ, and face_g_snurb::s_size. |
|
|
|
Referenced by rt_nurb_intersect(). |
|
Definition at line 143 of file nurb_ray.c. References internal_line::a, internal_line::b, face_g_snurb::ctl_points, internal_convex_hull::max, internal_convex_hull::min, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, RT_NURB_SPLIT_ROW, face_g_snurb::s_size, and value. Referenced by rt_nurb_intersect(). |
|
Definition at line 309 of file nurb_ray.c. References knot_vector::k_size, knot_vector::knots, face_g_snurb::order, and RT_NURB_SPLIT_ROW. Referenced by rt_nurb_intersect(). |
|
Referenced by rt_nurb_shot(). |
|
Definition at line 58 of file nurb_refine.c. References bu_malloc(), face_g_snurb::ctl_points, GET_SNURB, knot_vector::k_size, NMG_CK_SNURB, face_g_snurb::order, face_g_snurb::pt_type, rt_nurb_calc_oslo(), RT_NURB_EXTRACT_COORDS, rt_nurb_free_oslo(), rt_nurb_kvcopy(), rt_nurb_map_oslo(), RT_NURB_SPLIT_ROW, face_g_snurb::s_size, face_g_snurb::u, and face_g_snurb::v. Referenced by interpolate_data(), nmg_snurb_to_vlist(), and rt_nurb_plot(). Here is the call graph for this function: ![]() |
|
Definition at line 157 of file nurb_refine.c. References edge_g_cnurb::ctl_points, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, NMG_CK_CNURB, NULL, edge_g_cnurb::order, edge_g_cnurb::pt_type, rt_nurb_calc_oslo(), RT_NURB_EXTRACT_COORDS, rt_nurb_free_oslo(), rt_nurb_map_oslo(), and rt_nurb_new_cnurb(). Here is the call graph for this function: ![]() |
|
Definition at line 45 of file nurb_solve.c. References bu_malloc(), ptr, and rt_nurb_doolittle(). Referenced by rt_nurb_cinterp(). Here is the call graph for this function: ![]() |
|
Definition at line 105 of file nurb_solve.c. References bu_malloc(). Referenced by rt_nurb_solve(). Here is the call graph for this function: ![]() |
|
Definition at line 198 of file nurb_solve.c. |
|
Definition at line 217 of file nurb_solve.c. |
|
Definition at line 237 of file nurb_solve.c. |
|
Definition at line 63 of file nurb_split.c. References knot_vector::k_size, knot_vector::knots, NMG_CK_SNURB, face_g_snurb::order, RT_NURB_SPLIT_ROW, face_g_snurb::u, and value. Referenced by rt_nurb_bezier(), and rt_nurb_intersect(). |
|
Definition at line 275 of file nurb_split.c. References edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, NMG_CK_CNURB, edge_g_cnurb::pt_type, RT_NURB_EXTRACT_COORDS, and value. |
|
Definition at line 54 of file nurb_util.c. References bu_malloc(), face_g_snurb::ctl_points, face_g_snurb::dir, GET_SNURB, knot_vector::k_size, knot_vector::knots, face_g_snurb::order, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, RT_NURB_SPLIT_ROW, face_g_snurb::s_size, face_g_snurb::u, and face_g_snurb::v. Referenced by rt_nurb_import5(), rt_nurb_project_srf(), rt_nurb_s_diff(), rt_nurb_scopy(), and rt_nurb_tcladjust(). Here is the call graph for this function: ![]() |
|
Definition at line 84 of file nurb_util.c. References bu_malloc(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, GET_CNURB, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, edge_g_cnurb::order, edge_g_cnurb::pt_type, and RT_NURB_EXTRACT_COORDS. Referenced by rt_arc2d_to_cnurb(), rt_nurb_c_diff(), rt_nurb_c_refine(), and rt_nurb_crv_copy(). Here is the call graph for this function: ![]() |
|
Definition at line 135 of file nurb_util.c. References bu_free(), face_g_snurb::ctl_points, knot_vector::knots, face_g_snurb::l, bu_list::magic, NMG_CK_SNURB, face_g_snurb::u, and face_g_snurb::v. Referenced by rt_nurb_bezier(), rt_nurb_curvature(), rt_nurb_free(), rt_nurb_ifree(), rt_nurb_intersect(), rt_nurb_par_edge(), and rt_nurb_tcladjust(). Here is the call graph for this function: ![]() |
|
Definition at line 177 of file nurb_util.c. References bu_free(), edge_g_cnurb::ctl_points, edge_g_cnurb::k, knot_vector::knots, edge_g_cnurb::l, bu_list::magic, and NMG_CK_CNURB. Referenced by rt_process_casec(). Here is the call graph for this function: ![]() |
|
Definition at line 187 of file nurb_util.c. References bu_log(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, NMG_CK_CNURB, edge_g_cnurb::order, edge_g_cnurb::pt_type, ptr, RT_NURB_EXTRACT_COORDS, and rt_nurb_print_pt_type(). Referenced by nmg_cnurb_is_linear(), and rt_join_cnurbs(). Here is the call graph for this function: ![]() |
|
Definition at line 219 of file nurb_util.c. References bu_log(), face_g_snurb::order, rt_nurb_pr_kv(), rt_nurb_pr_mesh(), face_g_snurb::u, and face_g_snurb::v. Referenced by nmg_snurb_is_planar(), rt_nurb_intersect(), rt_nurb_print(), and rt_nurb_s_eval(). Here is the call graph for this function: ![]() |
|
Definition at line 239 of file nurb_util.c. References bu_log(), knot_vector::k_size, knot_vector::knots, and ptr. Referenced by rt_nurb_kvmult(), and rt_nurb_s_print(). Here is the call graph for this function: ![]() |
|
Definition at line 255 of file nurb_util.c. References bu_log(), face_g_snurb::ctl_points, edge_g_cnurb::k, NMG_CK_SNURB, face_g_snurb::pt_type, RT_NURB_EXTRACT_COORDS, and face_g_snurb::s_size. Referenced by rt_nurb_s_print(). Here is the call graph for this function: ![]() |
|
Definition at line 282 of file nurb_util.c. References bu_log(), RT_NURB_EXTRACT_PT_TYPE, RT_NURB_IS_PT_RATIONAL, RT_NURB_PT_UV, RT_NURB_PT_XY, and RT_NURB_PT_XYZ. Referenced by rt_nurb_c_print(). Here is the call graph for this function: ![]() |
|
Definition at line 61 of file nurb_xsplit.c. References bu_malloc(), face_g_snurb::ctl_points, face_g_snurb::dir, GET_SNURB, knot_vector::k_size, NMG_CK_SNURB, NULL, face_g_snurb::order, face_g_snurb::pt_type, rt_nurb_calc_oslo(), RT_NURB_EXTRACT_COORDS, rt_nurb_kvcopy(), rt_nurb_kvextract(), rt_nurb_kvmult(), rt_nurb_map_oslo(), RT_NURB_SPLIT_ROW, face_g_snurb::s_size, face_g_snurb::u, and face_g_snurb::v. Here is the call graph for this function: ![]() |
|
Definition at line 237 of file nurb_xsplit.c. References bu_free(), BU_LIST_APPEND, bu_malloc(), edge_g_cnurb::c_size, edge_g_cnurb::ctl_points, GET_CNURB, edge_g_cnurb::k, knot_vector::k_size, knot_vector::knots, edge_g_cnurb::l, NMG_CK_CNURB, NULL, edge_g_cnurb::order, edge_g_cnurb::pt_type, rt_nurb_calc_oslo(), RT_NURB_EXTRACT_COORDS, rt_nurb_free_oslo(), rt_nurb_kvextract(), rt_nurb_kvmult(), and rt_nurb_map_oslo(). Here is the call graph for this function: ![]() |
|
Referenced by rt_nurb_c_refine(), rt_nurb_c_xsplit(), rt_nurb_s_refine(), and rt_nurb_s_xsplit(). |
|
Definition at line 200 of file oslo_calc.c. |
|
Definition at line 224 of file oslo_calc.c. Referenced by rt_nurb_c_refine(), rt_nurb_c_xsplit(), and rt_nurb_s_refine(). |
|
Definition at line 56 of file oslo_map.c. References oslo_mat::next, and RT_NURB_EXTRACT_COORDS. Referenced by rt_nurb_c_refine(), rt_nurb_c_xsplit(), rt_nurb_s_refine(), and rt_nurb_s_xsplit(). |
|
Definition at line 58 of file bezier_2d_isect.c. References SGN, V2DOT, and V2SUB2. Referenced by FindRoots(). |
|
Definition at line 90 of file bezier_2d_isect.c. References bu_malloc(), X, and Y. Referenced by FindRoots(), and subdivide_bezier(). Here is the call graph for this function: ![]() |
|
Definition at line 201 of file bezier_2d_isect.c. References bu_calloc(), and V2MOVE. Referenced by FindRoots(), and subdivide_bezier(). Here is the call graph for this function: ![]() |
|
Definition at line 367 of file bezier_2d_isect.c. References Bezier(), bu_calloc(), bu_free(), bu_malloc(), ControlPolygonFlatEnough(), CrossingCount(), FindRoots(), MAXDEPTH, NULL, and V2MOVE. Referenced by FindRoots(). Here is the call graph for this function: ![]() |
|
Definition at line 461 of file bezier_2d_isect.c. References Bezier(), bu_calloc(), bu_free(), BU_LIST_APPEND, BU_LIST_APPEND_LIST, BU_LIST_DEQUEUE, BU_LIST_INIT, bu_malloc(), ControlPolygonFlatEnough(), bezier_2d_list::ctl, bezier_2d_list::l, MAXDEPTH, NULL, and subdivide_bezier(). Referenced by subdivide_bezier(). Here is the call graph for this function: ![]() |
|
Definition at line 85 of file nurb_basis.c. References rt_nurb_basis_eval(). Here is the call graph for this function: ![]() |