home *** CD-ROM | disk | FTP | other *** search
/ World of Graphics / WOGRAPH.BIN / 729.SOURCE.ZIP / RAYOPT.H < prev    next >
C/C++ Source or Header  |  1993-04-24  |  2KB  |  55 lines

  1. /*-------------------------------------------------------------------------
  2.  
  3.          Triangle Bounder/Smoother for POV-Ray
  4.             Copyright (c) 1993 Steve Anger
  5.  
  6.     A number of C routines that can be used to generate POV-Ray ray tracer
  7.  files from triangle data.  Supports generation of smooth triangles and an
  8.  optimal set of bounding shapes for much faster traces. This program may be
  9.  freely modified and distributed.
  10.  
  11.                                            CompuServe: 70714,3113
  12.                                             YCCMR BBS: (708)358-5611
  13.  
  14. --------------------------------------------------------------------------*/
  15.  
  16. #ifndef __RAYOPT_H
  17. #define __RAYOPT_H
  18.  
  19. #include "vect.h"
  20.  
  21. void opt_set_format (int format);
  22. void opt_set_fname (char *pov_name, char *inc_name);
  23. void opt_set_quiet (int quiet);
  24. void opt_set_bound (int bound);
  25. void opt_set_smooth (float smooth);
  26. void opt_set_vert (unsigned vert);
  27. void opt_set_dec (int dec);
  28.  
  29. void opt_set_color (float red, float green, float blue);
  30. void opt_set_texture (char *texture_name);
  31. void opt_set_transform (Matrix mat);
  32. void opt_clear_transform();
  33. int  opt_add_tri (float ax, float ay, float az,
  34.           float bx, float by, float bz,
  35.           float cx, float cy, float cz);
  36.  
  37. void opt_write_pov (char *obj_name);
  38. void opt_write_file (char *obj_name);
  39. void opt_finish (void);
  40.  
  41. void opt_get_limits (float *min_x, float *min_y, float *min_z,
  42.              float *max_x, float *max_y, float *max_z);
  43. void opt_get_glimits (float *min_x, float *min_y, float *min_z,
  44.               float *max_x, float *max_y, float *max_z);
  45. unsigned opt_get_vert_cnt (void);
  46. unsigned opt_get_tri_cnt (void);
  47. float    opt_get_index (void);
  48. unsigned opt_get_bounds (void);
  49.  
  50. void abortmsg (char *msg, int exit_code);
  51. void add_ext (char *fname, char *ext, int force);
  52. void cleanup_name (char *name);
  53.  
  54. #endif
  55.