ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/pmapio.h
Revision: 2.9
Committed: Tue Sep 17 16:36:05 2024 UTC (7 months, 1 week ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 2.8: +8 -2 lines
Log Message:
chore: Added extern "C" to headers to avoid C++ name mangling

File Contents

# User Rev Content
1 greg 2.9 /* RCSid $Id: pmapio.h,v 2.8 2021/02/18 17:08:50 rschregle Exp $ */
2 rschregle 2.6
3 greg 2.1 /*
4 rschregle 2.6 ======================================================================
5 rschregle 2.8 Photon map portable file I/O
6 greg 2.1
7     Roland Schregle (roland.schregle@{hslu.ch, gmail.com})
8     (c) Fraunhofer Institute for Solar Energy Systems,
9 rschregle 2.8 supported by the German Research Foundation
10     (DFG LU-204/10-2, "Fassadenintegrierte Regelsysteme FARESYS")
11 rschregle 2.2 (c) Lucerne University of Applied Sciences and Arts,
12 rschregle 2.8 supported by the Swiss National Science Foundation
13     (SNSF #147053, "Daylight Redirecting Components")
14 rschregle 2.6 ======================================================================
15 greg 2.1
16 greg 2.9 $Id: pmapio.h,v 2.8 2021/02/18 17:08:50 rschregle Exp $
17 greg 2.1 */
18    
19    
20     #ifndef PMAPIO_H
21     #define PMAPIO_H
22    
23     #include "pmapdata.h"
24 rschregle 2.6
25 greg 2.9 #ifdef __cplusplus
26     extern "C" {
27     #endif
28 rschregle 2.6
29     /* File format version with feature suffix */
30 rschregle 2.7 #define PMAP_FILEVER_MAJ "3.1"
31 rschregle 2.6
32     #ifdef PMAP_OOC
33     #define PMAP_FILEVER_TYP "o"
34     #else
35     #define PMAP_FILEVER_TYP "k"
36     #endif
37    
38     #ifdef PMAP_FLOAT_FLUX
39     #define PMAP_FILEVER_FLX "f"
40     #else
41     #define PMAP_FILEVER_FLX ""
42     #endif
43    
44     #ifdef PMAP_PRIMARYPOS
45 rschregle 2.7 #define PMAP_FILEVER_PRIPOS "P"
46 rschregle 2.6 #else
47 rschregle 2.7 #define PMAP_FILEVER_PRIPOS ""
48     #endif
49    
50     #ifdef PMAP_PRIMARYDIR
51     #define PMAP_FILEVER_PRIDIR "D"
52     #else
53     #define PMAP_FILEVER_PRIDIR ""
54 rschregle 2.6 #endif
55    
56     #define PMAP_FILEVER (PMAP_FILEVER_MAJ PMAP_FILEVER_TYP \
57 rschregle 2.7 PMAP_FILEVER_FLX PMAP_FILEVER_PRIPOS \
58     PMAP_FILEVER_PRIDIR)
59 greg 2.1
60 rschregle 2.8 /* Maximum portable size of a long int in photon map file */
61     #define PMAP_LONGSIZE 8
62    
63 greg 2.1
64     void savePhotonMap (const PhotonMap *pmap, const char *fname,
65 greg 2.3 int argc, char **argv);
66 greg 2.1 /* Save portable photon map of specified type to filename,
67     along with the corresponding command line. */
68    
69     PhotonMapType loadPhotonMap (PhotonMap *pmap, const char* fname);
70     /* Load portable photon map from specified filename, and return photon
71     * map type as identified from file header. */
72    
73 greg 2.9 #ifdef __cplusplus
74     }
75 greg 2.1 #endif
76 rschregle 2.7
77 greg 2.9 #endif