extrude.h
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:4k
- /*
- * extrude.h
- *
- * FUNCTION:
- * prototypes for privately used subroutines for the tubing library
- *
- * HISTORY:
- * Linas Vepstas 1991
- */
- #ifndef M_PI
- #define M_PI 3.14159265358979323846
- #endif
- /* ============================================================ */
- /*
- * Provides choice of calling subroutine, vs. invoking macro.
- * Basically, inlines the source, or not.
- * Trades performance for executable size.
- */
- #define INLINE_INTERSECT
- #ifdef INLINE_INTERSECT
- #define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); }
- #else
- #define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2)
- #endif /* INLINE_INTERSECT */
- /* ============================================================ */
- /* The folowing defines give a kludgy way of accessing the qmesh primitive */
- /*
- #define bgntmesh _emu_qmesh_bgnqmesh
- #define endtmesh _emu_qmesh_endqmesh
- #define c3f _emu_qmesh_c3f
- #define n3f _emu_qmesh_n3f
- #define v3f _emu_qmesh_v3f
- */
- /* ============================================================ */
- extern void up_sanity_check (gleDouble up[3], /* up vector for contour */
- int npoints, /* numpoints in poly-line */
- gleDouble point_array[][3]); /* polyline */
- extern void draw_raw_style_end_cap (int ncp, /* number of contour points */
- gleDouble contour[][2], /* 2D contour */
- gleDouble zval, /* where to draw cap */
- int frontwards); /* front or back cap */
- extern void draw_round_style_cap_callback (int iloop,
- double cap[][3],
- float face_color[3],
- gleDouble cut_vector[3],
- gleDouble bisect_vector[3],
- double norms[][3],
- int frontwards);
- extern void draw_angle_style_front_cap (int ncp,
- gleDouble bi[3],
- gleDouble point_array[][3]);
- extern void extrusion_raw_join (int ncp, /* number of contour points */
- gleDouble contour[][2], /* 2D contour */
- gleDouble cont_normal[][2],/* 2D contour normal vecs */
- gleDouble up[3], /* up vector for contour */
- int npoints, /* numpoints in poly-line */
- gleDouble point_array[][3], /* polyline */
- float color_array[][3], /* color of polyline */
- gleDouble xform_array[][2][3]); /* 2D contour xforms */
- extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */
- gleDouble contour[][2], /* 2D contour */
- gleDouble cont_normal[][2],/* 2D contour normal vecs */
- gleDouble up[3], /* up vector for contour */
- int npoints, /* numpoints in poly-line */
- gleDouble point_array[][3], /* polyline */
- float color_array[][3], /* color of polyline */
- gleDouble xform_array[][2][3]); /* 2D contour xforms */
- extern void extrusion_angle_join (int ncp, /* number of contour points */
- gleDouble contour[][2], /* 2D contour */
- gleDouble cont_normal[][2],/* 2D contour normal vecs */
- gleDouble up[3], /* up vector for contour */
- int npoints, /* numpoints in poly-line */
- gleDouble point_array[][3], /* polyline */
- float color_array[][3], /* color of polyline */
- gleDouble xform_array[][2][3]); /* 2D contour xforms */
- /* -------------------------- end of file -------------------------------- */