extrude.h
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:4k
源码类别:

GIS编程

开发平台:

Visual C++

  1. /*
  2.  * extrude.h
  3.  *
  4.  * FUNCTION:
  5.  * prototypes for privately used subroutines for the tubing library
  6.  *
  7.  * HISTORY:
  8.  * Linas Vepstas 1991
  9.  */
  10. #ifndef M_PI
  11. #define M_PI  3.14159265358979323846
  12. #endif
  13. /* ============================================================ */
  14. /* 
  15.  * Provides choice of calling subroutine, vs. invoking macro.
  16.  * Basically, inlines the source, or not.
  17.  * Trades performance for executable size.
  18.  */
  19. #define INLINE_INTERSECT
  20. #ifdef INLINE_INTERSECT
  21. #define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); }
  22. #else
  23. #define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2)
  24. #endif /* INLINE_INTERSECT */
  25. /* ============================================================ */
  26. /* The folowing defines give a kludgy way of accessing the qmesh primitive */
  27. /*
  28. #define bgntmesh _emu_qmesh_bgnqmesh
  29. #define endtmesh _emu_qmesh_endqmesh
  30. #define c3f _emu_qmesh_c3f
  31. #define n3f _emu_qmesh_n3f
  32. #define v3f _emu_qmesh_v3f
  33. */
  34. /* ============================================================ */
  35. extern void up_sanity_check (gleDouble up[3],      /* up vector for contour */
  36.                       int npoints,              /* numpoints in poly-line */
  37.                       gleDouble point_array[][3]);   /* polyline */
  38. extern void draw_raw_style_end_cap (int ncp,     /* number of contour points */
  39.                              gleDouble contour[][2],     /* 2D contour */
  40.                              gleDouble zval,             /* where to draw cap */
  41.                              int frontwards);    /* front or back cap */
  42. extern void draw_round_style_cap_callback (int iloop,
  43.                                   double cap[][3],
  44.                                   float face_color[3],
  45.                                   gleDouble cut_vector[3],
  46.                                   gleDouble bisect_vector[3],
  47.                                   double norms[][3],
  48.                                   int frontwards);
  49. extern void draw_angle_style_front_cap (int ncp,
  50.                            gleDouble bi[3],
  51.                            gleDouble point_array[][3]);
  52. extern void extrusion_raw_join (int ncp,        /* number of contour points */
  53.                          gleDouble contour[][2],    /* 2D contour */
  54.                          gleDouble cont_normal[][2],/* 2D contour normal vecs */
  55.                          gleDouble up[3],           /* up vector for contour */
  56.                          int npoints,           /* numpoints in poly-line */
  57.                          gleDouble point_array[][3],        /* polyline */
  58.                          float color_array[][3],        /* color of polyline */
  59.                          gleDouble xform_array[][2][3]);  /* 2D contour xforms */
  60. extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */
  61.                          gleDouble contour[][2],    /* 2D contour */
  62.                          gleDouble cont_normal[][2],/* 2D contour normal vecs */
  63.                            gleDouble up[3],         /* up vector for contour */
  64.                            int npoints,         /* numpoints in poly-line */
  65.                            gleDouble point_array[][3],      /* polyline */
  66.                            float color_array[][3],      /* color of polyline */
  67.                            gleDouble xform_array[][2][3]);  /* 2D contour xforms */
  68. extern void extrusion_angle_join (int ncp,      /* number of contour points */
  69.                          gleDouble contour[][2],    /* 2D contour */
  70.                          gleDouble cont_normal[][2],/* 2D contour normal vecs */
  71.                            gleDouble up[3],         /* up vector for contour */
  72.                            int npoints,         /* numpoints in poly-line */
  73.                            gleDouble point_array[][3],      /* polyline */
  74.                            float color_array[][3],      /* color of polyline */
  75.                            gleDouble xform_array[][2][3]);  /* 2D contour xforms */
  76. /* -------------------------- end of file -------------------------------- */