VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sigsim.h
Go to the documentation of this file.
1 
2 /* © 1998 JRM Technologies, Inc.*/
3 
4 
5 #include "sigsimDLLstub.h"
6 
7 #ifdef __cplusplus
8 extern "C"
9 {
10 #endif
11 
12 //SIGSIM49_API int Free_SIMPLE_BACKGROUND_SPEC(SIMPLE_BACKGROUND_SPEC *background, jrmbool INITFLAG);
13 //SIGSIM49_API int AddSIMPLE_BACKGROUND_SPEC(SIMPLE_BACKGROUND_SPEC **c, int *nc, SIMPLE_BACKGROUND_SPEC toadd);
14 //SIGSIM49_API int Free_Metin_Arrays(METIN *metin);
15 //SIGSIM49_API int Free_LightSourceTables(LIGHT_SOURCE_TABLE *lstable, int nlstables);
16 //SIGSIM49_API int Free_ManmadeLightSourceTables(MANMADE_LIGHTSOURCE_TABLE *mmlstable);
17 //SIGSIM49_API int Free_Sensors(SENSOR *sens, int nsensors);
18 //SIGSIM49_API int Free_Sensor_Arrays(SENSOR *sens, int nsensors);
19 //SIGSIM49_API int Free_MatlOGLTables(MATL_OGL_TABLE **mogl);
20 //SIGSIM49_API int Free_MatlPropTables(MATL_PROP_TABLE **mp_table, long num_matls);
21 //SIGSIM49_API int Free_MatlPropTable_Arrays(MATL_PROP_TABLE *mp_table);
22 //SIGSIM49_API int Initialize_MatlPropTable_Arrays(MATL_PROP_TABLE *mp_table);
23 //SIGSIM49_API int Free_Objects(OBJECT **object);
24 //SIGSIM49_API int Free_Acquires(ACQUIRE *acquire);
25 //SIGSIM49_API int Free_Prophets(PROPHET *prophet);
26 //SIGSIM49_API int Free_ACSs(ACS *acs);
27 //SIGSIM49_API int Free_MatlSpecTableArrays(MATL_SPECTRAL_TABLE *mst);
28 //SIGSIM49_API int Free_SPECTRAL_DOMAIN_Arrays(SPECTRAL_DOMAIN *spectrum);
29 //SIGSIM49_API void FreeSpectrum(SPECTRUM *spectrum);
30 
31 /* ---------------- GENERAL NATIVE DATA TYPE ARRAYS ------------------ */
32 
33 //SIGSIM49_API int AddVector(int *NV, VECTOR **V, VECTOR toadd);
34 //SIGSIM49_API int RemoveVector(VECTOR **V, int *NV, int index);
35 //SIGSIM49_API void FreeVectors(int *NV, VECTOR **V);
36 //SIGSIM49_API int AddInt(int **c, int *nc, int toadd);
37 //SIGSIM49_API int InsertInt(int **F, int *nF, int toinsert, int index);
38 //SIGSIM49_API int RemoveInt(int **F, int *nF, int index);
39 //SIGSIM49_API void FreeIntArray(int **c, int *nc, jrmbool init);
40 //SIGSIM49_API int AddDouble(double **c, int *nc, double toadd);
41 //SIGSIM49_API int RemoveDouble(double **F, int *nF, int index);
42 //SIGSIM49_API void FreeDoubleArray(double **c, int *nc, jrmbool init);
43 //SIGSIM49_API void FreeDOUBLE_TABLE(DOUBLE_TABLE *c, jrmbool init);
44 //SIGSIM49_API void FreeDOUBLE_TABLEArray(DOUBLE_TABLE **c, int *nc, jrmbool init);
45 //SIGSIM49_API int AllocateDOUBLE_TABLEArray(DOUBLE_TABLE **c, int nc);
46 //SIGSIM49_API int CopyDOUBLE_TABLE(DOUBLE_TABLE in, DOUBLE_TABLE *out);
47 //SIGSIM49_API int Free_Double_Array(long **array);
48 //SIGSIM49_API void FreeComplexArray(complex **c, int *nc, jrmbool init);
49 //SIGSIM49_API int Allocate_Complex_Array(complex **array, long nvals);
50 //SIGSIM49_API int Free_Long_Array(long **array);
51 //SIGSIM49_API int Free_Char_Array(char **array);
52 //SIGSIM49_API int LoadDoubleArrayFromScanline(char *scanline, double **c, int *nc);
53 //SIGSIM49_API int AllocateMATERIAL_EIGENFRACTIONSArray(MATERIAL_EIGENFRACTIONS **matlfraction, long nmatls, int neigenmaterials);
54 //SIGSIM49_API int AllocateMATERIAL_EIGENFRACTIONSFractionArrays(MATERIAL_EIGENFRACTIONS **matlfraction, long nmatls, int neigenmaterials);
55 //SIGSIM49_API void FreeMATERIAL_EIGENFRACTIONSArray(MATERIAL_EIGENFRACTIONS **matlfraction, long nmatls);
56 //SIGSIM49_API int AllocateSpectrum(SPECTRUM *spectrum, long nlambda);
57 
58 //SIGSIM49_API int FreeScatterLayerArrays(METIN *metin);
59 //SIGSIM49_API int AllocateScatterLayerArrays(METIN *metin);
60 
62 
63 //void SigSimStructInit(METIN *metin, LIGHT_SOURCE_TABLE **ls_table, MATL_PROP_TABLE **mp_table, MATL_OGL_TABLE **mogl_table, SENSOR **sens);
64 SIGSIM49_API int SetBandStructure(int *nbands, BAND** band, long* nlambda, double** lambda, char c1Modtrn);
65 //int Update_MS_BoundaryConditions(char *sigsim_data_dir, char *ms_filename, char *ms_state_file, long *nmatls, MATL_PROP_TABLE **mp_table, MATL_OGL_TABLE **mogl_table, double tod_start, METIN *metin);
66 //int InitializeMatSysAndMatOGL(jrmbool matreset, char *sigsim_data_dir, char *ms_filename, char *ms_state_file, long *nmatls, MATL_PROP_TABLE **mp_table, MATL_OGL_TABLE **mogl_table, double tod_start, METIN *metin);
67 //int InitializeSpecATM(jrmbool atmreset, jrmbool dumcol, char *sigsim_data_dir, char *atm_file, char *night_sky_file, METIN *metin, long nlayers, int nsensors, SENSOR *sens, LIGHT_SOURCE_TABLE *lstable);
68 //int AllocateSensors(int nsensors, SENSOR **sens);
69 //int AllocateSingleSensorSpectra(SENSOR *sens, int nmmls, jrmbool INIT);
70 //int AllocateSensorSpectra(int nsensors, SENSOR *sens, int nmmls);
71 //int AllocateLightSourceTables(int num_ls, LIGHT_SOURCE_TABLE **ls_table);
72 //int AllocateManMadeLightSourceOGLOutput(int num_ls, LIGHT_SOURCE_TABLE **ls_table, int nmmls);
73 //int AllocateManmadeLightSourceTables(int num_mm_ls, MANMADE_LIGHTSOURCE_TABLE **mm_lstable);
74 //int AllocateAndFillMetinTablesAndSpectralArrays(char *sigsim_data_dir, METIN *metin, int nsensors, SENSOR **sens, char *night_sky_file);
75 SIGSIM49_API int SetupAtmosphericProfile(jrmbool atmreset, jrmbool dumcol, char *sigsim_data_dir, char *atm_file, char *modcard_file, long nlayers, METIN *metin);
76 int AllocateAndFillAtmosphericBands(int *nbands, BAND **band, int nsensors, SENSOR **sens);
77 int AllocateMetinSkyTable(METIN *metin);
79 void SetupHomogeneousAtmosphere(METIN *metin, int resetMetin, double ScatCoefficient0, double ScatCoefficient1, double ExtinctCoefficient,
80  int ConstThruLayers, double SolarIrrad, double LunarIrrad);
85 // int Allocate_MATL_SPECTRAL_TABLE_Arrays(BRDF_MODEL brdf_type, long nlambda, MATL_SPECTRAL_TABLE *mst);
86 // int UpdateEnvironment(double alt, METIN *metin)
87 // int ComputeSpectralReflectanceParameters(long matl_index, MATL_PROP_TABLE *mp_table, BRDF_MODEL brdf_type, SPECTRAL_DOMAIN spectrum, MATL_SPECTRAL_TABLE *mst) ;
88 //double UpdateMaterialSystemSpectralRadiometric(double* range, long matl_index, long nmatls, MATL_PROP_TABLE *mp_table, METIN *metin, SENSOR *sens, jrmbool hitflag);
89 //int UpdateAtObjectSpectralSignature(long matl_index, long nmatls, MATL_PROP_TABLE *mp_table, METIN *metin, SENSOR *sens, BRDF_MODEL brdf_model, SPECTRAL_DOMAIN spectrum, MATL_SPECTRAL_TABLE *mst);
90 //int UpdateAtApertureSpectralSignature(SENSOR *sens, long nlambda, double *lambda_um, MATL_SPECTRAL_TABLE *mst);
91 //VECTOR OrientationInMetSEU(EPHEMERIS fm, VECTOR orientNED, GEOCENTRIC_LOCATION C);
92 long GetMPIndex(MATL_PROP_TABLE mp_table, enum ReflectType RT, enum Polarization PL, double lambda);
93 int WriteMetinDiurnalIrradiances(METIN *metin, char *filename);
94 int ReadMetinDiurnalIrradiances(METIN *metin, char *filename);
95 //int AddSensor(SENSOR** sens, int newNumSensors);
96 //int RemoveSensor(SENSOR** sens, int numSensors, int sensorRemoveIndex);
97 //int MergeDomains(SPECTRAL_DOMAIN *output, SPECTRAL_DOMAIN input1, SPECTRAL_DOMAIN input2);
98 //int MergeSpectra(SPECTRAL_DOMAIN *outX, double **outY, SPECTRAL_DOMAIN inX1, double *inY1, SPECTRAL_DOMAIN inX2, double *inY2, jrmbool ZeroFlag, jrmbool InterpolateFlag);
99 //int MultiplySpectra(SPECTRUM *base, SPECTRUM tomultiply, jrmbool ZeroFlag, jrmbool InterpolateFlag);
100 //int ShiftSpectralDomain(SPECTRAL_DOMAIN spectrum, jrmbool CenterFlag);
101 //int ShiftSpectrum(SPECTRAL_DOMAIN spectrum, double *Y, jrmbool CenterFlag);
102 //int Allocate_Double_Array(double **array, long nvals);
103 //int Free_Double_Array(double **array);
104 //int Read2ColumnFile(char *filename, double **xvalues, double **yvalues, long *nvalues); // BE SURE TO USE Free_Double_Array() on these to deallocate memory !
105 //int Write2ColumnFile(char *filename, double *xvalues, double *yvalues, long nvalues);
106 //int ReadASDSpectralFile(char *filename, double **xvalues, double **yvalues, long *nvalues);
107 //int ReadASDSpectralFileWithHeaders(char *filename, double **xvalues, double **yvalues, long *nvalues);
108 //int ReadDNPSpectralFile(char *filename, double **xvalues, double **yvalues, long *nvalues);
109 //int ReadUSGSSpectralFile(char *filename, double **xvalues, double **yvalues, long *nvalues);
110 //int SmoothSpectrum2(double MaxVar, double VarSpan, SPECTRAL_DOMAIN xin, double *yin, double *yout, double ax, double bx);
111 //SIGSIM49_API int FillSensorResponse(char *filename, SENSOR *sensor);
112 SIGSIM49_API void ArrayConvertWithFlags(SPECTRAL_DOMAIN baseX, double *convertedY, SPECTRAL_DOMAIN toconvertX, double *toconvertY, double Factor, jrmbool ZeroFlag, jrmbool InterpolateFlag);
113 
114 // check the registration license, the preferred method
115 // if policiesMsg is sepcified as non-NULL, then upon success it receives a human-readable string with details regarding the acquired license (e.g. activation / expiration times, usage / maintenance periods, etc.)
116 SIGSIM49_API int SigSimRegistrationCheck(char *const policiesMsg, const size_t policiesMsgSize);
117 // check the registration license, the old method
118 SIGSIM49_API int reg_check(const char* iRegPath);
119 SIGSIM49_API const char *getSigSimVersion();
120 SIGSIM49_API int SigSimCheckExpirationDate(char *expirationDate);
121 
122 
123 #ifdef __cplusplus
124 }
125 #endif
126 


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