#include "common.h"
#include <stdio.h>
#include "machine.h"
#include "vmath.h"
#include "nmg.h"
#include "raytrace.h"
#include "nurb.h"
#include "../librt/debug.h"
Include dependency graph for bezier_2d_isect.c:
Go to the source code of this file.
Defines | |
#define | SGN(_x) (((_x)<0) ? -1 : 1) |
#define | MAXDEPTH 64 |
Functions | |
int | CrossingCount (point2d_t *V, int degree, point2d_t ray_start, point2d_t ray_dir, point2d_t ray_perp) |
int | ControlPolygonFlatEnough (point2d_t *V, int degree, fastf_t epsilon) |
void | Bezier (point2d_t *V, int degree, double t, point2d_t *Left, point2d_t *Right, point2d_t eval_pt, point2d_t normal) |
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) |
bezier_2d_list * | subdivide_bezier (struct bezier_2d_list *bezier_in, int degree, fastf_t epsilon, int depth) |
The following routines are borrowed from Graphics Gems I, Academic Press, Inc, 1990, Andrew S. Glassner (editor), "A Bezier Curve-based Root-finder", Philip J. Schneider.
JRA 4/2001: Modifications have been made for inclusion in BRL-CAD and to generalize the codes for finding intersections with any 2D line rather than just the X-axis.
Definition in file bezier_2d_isect.c.