ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/tmesh.h
Revision: 2.6
Committed: Tue Apr 13 15:13:20 2021 UTC (4 years ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 2.5: +6 -6 lines
Log Message:
style: made function prototypes "extern" as per standard practice

File Contents

# User Rev Content
1 greg 2.6 /* RCSid $Id: tmesh.h,v 2.5 2003/06/26 00:58:09 schorsch Exp $ */
2 greg 2.1 /*
3     * Header file for triangle mesh routines using barycentric coordinates
4     */
5 schorsch 2.4 #ifndef _RAD_TMESH_H_
6     #define _RAD_TMESH_H_
7     #ifdef __cplusplus
8     extern "C" {
9     #endif
10 greg 2.1
11 schorsch 2.5
12 greg 2.1 #define TCALNAME "tmesh.cal" /* the name of our auxiliary file */
13    
14     typedef struct {
15     int ax; /* major axis */
16 schorsch 2.5 RREAL tm[2][3]; /* transformation */
17 greg 2.1 } BARYCCM;
18    
19     #ifndef COSTOL
20 greg 2.3 #define COSTOL 0.999995 /* cosine of tolerance for smoothing */
21 greg 2.1 #endif
22    
23     /* flat_tri() return values */
24     #define ISBENT 0 /* is not flat */
25     #define ISFLAT 1 /* is flat */
26     #define RVBENT 2 /* reversed and not flat */
27     #define RVFLAT 3 /* reversed and flat */
28     #define DEGEN -1 /* degenerate (zero area) */
29 greg 2.2
30    
31 greg 2.6 extern int flat_tri(FVECT v1, FVECT v2, FVECT v3,
32 greg 2.2 FVECT n1, FVECT n2, FVECT n3);
33 greg 2.6 extern int comp_baryc(BARYCCM *bcm, FVECT v1, FVECT v2, FVECT v3);
34     extern void eval_baryc(RREAL wt[3], FVECT p, BARYCCM *bcm);
35     extern int get_baryc(RREAL wt[3], FVECT p, FVECT v1, FVECT v2, FVECT v3);
36     extern void put_baryc(BARYCCM *bcm, RREAL com[][3], int n);
37 greg 2.2
38 schorsch 2.4
39     #ifdef __cplusplus
40     }
41     #endif
42     #endif /* _RAD_TMESH_H_ */
43