ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/rayopt3ds.h
Revision: 2.1
Committed: Fri Feb 18 00:40:25 2011 UTC (13 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R2P1, rad5R3, HEAD
Log Message:
Major code reorg, moving mgflib to common and introducing BSDF material

File Contents

# User Rev Content
1 greg 2.1 /* RCSid: $Id: rayopt.h,v 1.4 2007/09/05 01:36:37 greg Exp $ */
2     /*-------------------------------------------------------------------------
3    
4     Triangle Bounder/Smoother for POV-Ray
5     by Steve Anger 1993
6    
7     A number of C routines that can be used to generate POV-Ray ray tracer
8     files from triangle data. Supports generation of smooth triangles and an
9     optimal set of bounding shapes for much faster traces.
10    
11     --------------------------------------------------------------------------*/
12    
13     #ifndef _MGF_RAYOPT_H
14     #define _MGF_RAYOPT_H
15     #ifdef __cplusplus
16     extern "C" {
17     #endif
18    
19    
20     #include "vect3ds.h"
21    
22     void opt_set_format (int format);
23     void opt_set_fname (char *pov_name, char *inc_name);
24     void opt_set_quiet (int quiet);
25     void opt_set_bound (int bound);
26     void opt_set_smooth (float smooth);
27     void opt_set_vert (unsigned vert);
28     void opt_set_dec (int dec);
29    
30     void opt_set_color (float red, float green, float blue);
31     void opt_set_texture (char *texture_name);
32     void opt_set_transform (Matrix mat);
33     void opt_clear_transform();
34     int opt_add_tri (float ax, float ay, float az,
35     float bx, float by, float bz,
36     float cx, float cy, float cz);
37    
38     void opt_write_pov (char *obj_name);
39     void opt_write_file (char *obj_name);
40     void opt_write_box (char *obj_name);
41     void opt_finish (void);
42    
43     void opt_get_limits (float *min_x, float *min_y, float *min_z,
44     float *max_x, float *max_y, float *max_z);
45     void opt_get_glimits (float *min_x, float *min_y, float *min_z,
46     float *max_x, float *max_y, float *max_z);
47     unsigned opt_get_vert_cnt (void);
48     unsigned opt_get_tri_cnt (void);
49     float opt_get_index (void);
50     unsigned opt_get_bounds (void);
51    
52     void abortmsg (char *msg, int exit_code);
53     void add_ext (char *fname, char *ext, int force);
54     void cleanup_name (char *name);
55    
56    
57     #ifdef __cplusplus
58     }
59     #endif
60     #endif /* _MGF_RAYOPT_H */
61