VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sigsimio.h
Go to the documentation of this file.
1 
2 /* © 1998 JRM Technologies, Inc.*/
3 
4 
5 
6 /***********************************
7 Copyright JRM Enterprises, Inc. 1998
8 All rights reserved.
9 
10 This code is the intellectual property of JRM Enterprises, Inc.
11 It may not be used or released as source or compiled binary form
12 without the prior written consent of JRM Enterprises, Inc.
13 ***********************************/
14 
15 #ifndef _SIGSIMIO_H_
16 #define _SIGSIMIO_H_
17 
18 #include "JRMlibrary.h"
19 #include "SigSimDefines.h"
20 #include "sigsim.h"
21 #include "sigsimOGL.h"
22 #include "sigsimDLLstub.h"
23 
24 
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif
29 
30 #ifdef WIN32
31 #include <io.h>
32 #include <share.h>
33 #endif
34 #include <fcntl.h>
35 #include <time.h>
36 
37 
38 
39 #define NUMBER_MATERIAL_SYSTEM_FILE_HEADERS 5
40 #define NUMBER_MATERIAL_SYSTEM_FILE_FIELDS 16
41 #define NUMBER_MATERIAL_FILE_BULK_FIELDS 8
42 #define NUMBER_MATERIAL_FILE_SURFACE_OPTICAL_SCALARS_FIELDS 4
43 #define NUMBER_MATERIAL_FILE_BRDF_MODEL_TITLE_FIELDS 3
44 #define NUMBER_MATERIAL_FILE_SPECRECIDENTIFIERS 3
45 #define NUMBER_MATERIAL_FILE_SPECRECIOPARAMS 11
46 #define NUMBER_MATERIAL_FILE_SPECRECRFPARAMS 9
47 #define NUMBER_MATERIAL_FILE_SIGSIM_BRDF_FIELDS 3
48 #define NUMBER_MATERIAL_FILE_SR_BRDF_FIELDS 4
49 #define NUMBER_MATERIAL_FILE_PHONG_BRDF_FIELDS 4
50 #define MAX_NUM_LAYERS 10
51 #define MAX_NUM_NODES_PER_LAYER 33
52 #define MIN_NUM_NODES_PER_LAYER 3
53 #define MAXSTAB 1.0
54 
55 
56 
57  // CreateMaterialSystemTables() allocates SigSim material system tables in memory, and fills them with the data in sigsim_data_dir/matl_sys_file and sigsim_data_dir/MTL_DIR.
58  SIGSIM_API int CreateMaterialSystemTables(char *sigsim_data_dir, char *matl_sys_file, long *nmatls, MATL_PROP_TABLE **mp_table, double env_update_interval);
59  SIGSIM_API int CreateMaterialSystem(char *materialDirName, char *materialSystemFile, long *nmatls, MATL_PROP_TABLE **mp_table, double env_update_interval);
60  SIGSIM_API int CreateBlackBodyMaterialSet(int nmatls, MATL_PROP_TABLE **mp_table, double degC, double env_update_interval);
61  SIGSIM_API int ReadMaterialSystemsStateTable(char *sigsim_data_dir, char *ms_state_file, MATL_PROP_TABLE **mp_table, long *nmatls);
62  SIGSIM_API int WriteMaterialSystemsStateTable(char *sigsim_data_dir, char *ms_state_file, MATL_PROP_TABLE *mp_table, long nmatls);
63  SIGSIM_API int ReadMSFile(char *sigsim_data_dir, char *matl_sys_file, long *nmatls, MATL_PROP_TABLE **mp_table, char *dbname);
64  SIGSIM_API int WriteMSFile(char *sigsim_data_dir, char *ms_filename, MATL_PROP_TABLE *mp_table, long nmatls, char *dbname);
65  SIGSIM_API int WriteMSFileFromPointers(char *sigsim_data_dir, char *ms_filename, MATL_PROP_TABLE **mp_table, long nmatls, char *dbname);
66  SIGSIM_API int ReadMTLFile(char *mat_file, MATL_PROP_TABLE *mp_table, int layer); // CF050705
67 
68 
69  //int CreateMaterialSystemTables(char *sigsim_data_dir, char *matl_sys_file, long *nmatls, MATL_PROP_TABLE **mp_table, MATL_OGL_TABLE **mogl_table, double env_update_interval);
70  int CreateMaterialTables3_1(char *sigsim_data_dir, char *matl_sys_file, long *nmatls, MATL_PROP_TABLE **mp_table, MATL_OGL_TABLE **mogl_table);
71  int CreateCelestialTable(char *sigsim_data_dir, char *night_sky_file, long *num_bodies, CELESTIAL_TABLE **celestial_table);
72  int WriteMS_MTL_Files(char *sigsim_data_dir, char *ms_filename, MATL_PROP_TABLE *mp_table, long nmatls, char *dbname);
73  int WriteMTL_File(char *sigsim_data_dir, MATL_PROP_TABLE *mp_table);
74  int InitializeThermalNodes(MATL_PROP_TABLE *mp_table, double env_update_interval);
75  int csiMaterialserializeStr(char *fileStream, char delim[], MATL_PROP_TABLE *mp_table, int layer);
76  int csiMaterialserialize(char *filepath, jrmbool isEncrypted, char delim[], MATL_PROP_TABLE *mp_table, int layer);
77  char *csiGetMaterialStream(char *filepath, jrmbool isEncrypted, char delim[], MATL_PROP_TABLE *mp_table, int layer);
78 
79 
80  SIGSIM_API int CreateManmadeLightsourceTable(char *sigsim_data_dir, char *mm_lsources_file, int *num_mm_lsources, MANMADE_LIGHTSOURCE_TABLE** mm_lstable);
81 
82 
83  int SemaphoreOpen(char *file, char *purpose, FILE **fptr);
84  int SemaphoreClose(char *file, FILE **fptr);
85 
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
91 #endif //_SIGSIMIO_H_
92 
93 
94 


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)