Back to index

radiance  4R0+20100331
rayopt.h
Go to the documentation of this file.
00001 /* RCSid: $Id: rayopt.h,v 1.4 2007/09/05 01:36:37 greg Exp $ */
00002 /*-------------------------------------------------------------------------
00003 
00004                Triangle Bounder/Smoother for POV-Ray
00005                   by Steve Anger 1993
00006 
00007     A number of C routines that can be used to generate POV-Ray ray tracer
00008  files from triangle data.  Supports generation of smooth triangles and an
00009  optimal set of bounding shapes for much faster traces.
00010 
00011 --------------------------------------------------------------------------*/
00012 
00013 #ifndef _MGF_RAYOPT_H
00014 #define _MGF_RAYOPT_H
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019 
00020 #include "vect.h"
00021 
00022 void opt_set_format (int format);
00023 void opt_set_fname (char *pov_name, char *inc_name);
00024 void opt_set_quiet (int quiet);
00025 void opt_set_bound (int bound);
00026 void opt_set_smooth (float smooth);
00027 void opt_set_vert (unsigned vert);
00028 void opt_set_dec (int dec);
00029 
00030 void opt_set_color (float red, float green, float blue);
00031 void opt_set_texture (char *texture_name);
00032 void opt_set_transform (Matrix mat);
00033 void opt_clear_transform();
00034 int  opt_add_tri (float ax, float ay, float az,
00035                 float bx, float by, float bz,
00036                 float cx, float cy, float cz);
00037 
00038 void opt_write_pov (char *obj_name);
00039 void opt_write_file (char *obj_name);
00040 void opt_write_box (char *obj_name);
00041 void opt_finish (void);
00042 
00043 void opt_get_limits (float *min_x, float *min_y, float *min_z,
00044                    float *max_x, float *max_y, float *max_z);
00045 void opt_get_glimits (float *min_x, float *min_y, float *min_z,
00046                     float *max_x, float *max_y, float *max_z);
00047 unsigned opt_get_vert_cnt (void);
00048 unsigned opt_get_tri_cnt (void);
00049 float    opt_get_index (void);
00050 unsigned opt_get_bounds (void);
00051 
00052 void abortmsg (char *msg, int exit_code);
00053 void add_ext (char *fname, char *ext, int force);
00054 void cleanup_name (char *name);
00055 
00056 
00057 #ifdef __cplusplus
00058 }
00059 #endif
00060 #endif /* _MGF_RAYOPT_H */
00061