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 (3 years, 1 month 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

# Content
1 /* RCSid $Id: tmesh.h,v 2.5 2003/06/26 00:58:09 schorsch Exp $ */
2 /*
3 * Header file for triangle mesh routines using barycentric coordinates
4 */
5 #ifndef _RAD_TMESH_H_
6 #define _RAD_TMESH_H_
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11
12 #define TCALNAME "tmesh.cal" /* the name of our auxiliary file */
13
14 typedef struct {
15 int ax; /* major axis */
16 RREAL tm[2][3]; /* transformation */
17 } BARYCCM;
18
19 #ifndef COSTOL
20 #define COSTOL 0.999995 /* cosine of tolerance for smoothing */
21 #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
30
31 extern int flat_tri(FVECT v1, FVECT v2, FVECT v3,
32 FVECT n1, FVECT n2, FVECT n3);
33 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
38
39 #ifdef __cplusplus
40 }
41 #endif
42 #endif /* _RAD_TMESH_H_ */
43