VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ssMaterialProperties.h
Go to the documentation of this file.
1 
3 // Copyright JRM Enterprises, Inc. 2006
4 // All rights reserved.
5 //
6 // This code is the intellectual property of JRM Enterprises, Inc.
7 // It may not be used or released as source or compiled binary form
8 // without the prior written consent of JRM Enterprises, Inc.
9 //
10 // Original Author: Tom Rix Date: Sep 2006
12 
13 #ifndef _ssMaterialProperties_
14 #define _ssMaterialProperties_
15 
16 #include "ssdllexport.h"
17 #include "ssIncAll.h"
18 
19 #include <memory>
20 
21 #ifndef NEIGENMATERIALS
22 #define NEIGENMATERIALS 6
23 #endif
24 
26 // ssMaterialProperties
34 {
35 
36 public:
37  using MaterialSystemTablePtrType = std::shared_ptr<MATL_PROP_TABLE>;
38 
40  // ssMaterialProperties
45 
47  //ssMaterialProperties
52 
54  //setMaterialSystemFileName
60  void setMaterialSystemFileName(char *name);
61 
63  //setSigSimDataDirectory
69  void setSigSimDataDirectory(char *name);
70 
72  //setSigSimCacheDirectory
77  void setSigSimCacheDirectory(char *name);
78 
80  //checkValidity
85  void checkValidity();
86 
88  //isValid
93  bool isValid();
94 
96  //getNumberMaterials
101  unsigned int getNumberMaterials();
102 
103 
105  //getNumberLayers
111  unsigned int getNumberLayers(unsigned int materialIndex);
112 
114  //getNumberWavelengths
120  unsigned int getNumberWavelengths(unsigned int materialIndex);
121 
123  //getMaterialName
129  char *getMaterialName(unsigned int materialIndex);
130 
132  //setMaterialName
139  void setMaterialName(unsigned int materialIndex, char *matName);
140 
142  //getIntensityModulationScalarParameter
149  double getIntensityModulationScalarParameter(unsigned int material, bool visualBand);
150 
152  //getAltitude
160  bool getAltitude (unsigned int materialIndex, double &altitude);
161 
163  //setAltitude
170  void setAltitude (unsigned int materialIndex, double altitude);
171 
173  //getShadowFlag
180  bool getShadowFlag (unsigned int materialIndex, double &shadow);
181 
183  //setShadowFlag
190  void setShadowFlag (unsigned int materialIndex, double shadow);
191 
193  //getUpperBoundaryConditionType
206  bool getUpperBoundaryConditionType (unsigned int materialIndex, unsigned int &boundaryConditionType);
207 
209  //setUpperBoundaryConditionType
222  void setUpperBoundaryConditionType (unsigned int materialIndex, unsigned int boundaryConditionType);
223 
224 
226  //getUpperBoundaryConditionType
232  const char *getUpperBoundaryConditionType (unsigned int materialIndex);
233 
235  //getUpperBoundaryTemperature
242  bool getUpperBoundaryTemperature (unsigned int materialIndex, double &temperature);
243 
245  //setUpperBoundaryTemperature
252  bool setUpperBoundaryTemperature (unsigned int materialIndex, double temperature);
253 
255  //getUpperBoundaryWindSpeed
262  bool getUpperBoundaryWindSpeed (unsigned int materialIndex, double &windSpeed);
263 
265  //setUpperBoundaryWindSpeed
272  bool setUpperBoundaryWindSpeed (unsigned int materialIndex, double windSpeed);
273 
275  //getUpperBoundaryHeatLoad
282  bool getUpperBoundaryHeatLoad (unsigned int materialIndex, double &heatLoad);
283 
285  //setUpperBoundaryHeatLoad
292  bool setUpperBoundaryHeatLoad (unsigned int materialIndex, double heatLoad);
293 
295  //getLowerBoundaryConditionType
309  bool getLowerBoundaryConditionType (unsigned int materialIndex, unsigned int &boundaryConditionType);
310 
312  //setLowerBoundaryConditionType
325  void setLowerBoundaryConditionType (unsigned int materialIndex, unsigned int boundaryConditionType);
326 
328  //getLowerBoundaryConditionType
334  const char *getLowerBoundaryConditionType (unsigned int materialIndex);
335 
337  //getLowerBoundaryTemperature
344  bool getLowerBoundaryTemperature (unsigned int materialIndex, double &temperature);
345 
347  //setLowerBoundaryTemperature
354  bool setLowerBoundaryTemperature (unsigned int materialIndex, double temperature);
355 
357  //getLowerBoundaryWindSpeed
364  bool getLowerBoundaryWindSpeed (unsigned int materialIndex, double &windSpeed);
365 
367  //setLowerBoundaryWindSpeed
374  bool setLowerBoundaryWindSpeed (unsigned int materialIndex, double windSpeed);
375 
376 
378  //getLowerBoundaryHeatLoad
385  bool getLowerBoundaryHeatLoad (unsigned int materialIndex, double &heatLoad);
386 
388  //setLowerBoundaryHeatLoad
395  bool setLowerBoundaryHeatLoad (unsigned int materialIndex, double heatLoad);
396 
398  //getReflectType
408  bool getReflectType(unsigned int materialIndex, unsigned int wavelengthIndex, enum ReflectType &reflectType);
409 
411  //getReflectType
420  const char *getReflectType(unsigned int materialIndex, unsigned int wavelengthIndex);
421 
423  //setReflectType
433  void setReflectType(unsigned int materialIndex, unsigned int wavelengthIndex, enum ReflectType &reflectType);
434 
436  //getDHR
444  bool getDHR(unsigned int materialIndex, unsigned int wavelengthIndex, double &DHR);
445 
446  //setDHR
454  void setDHR(unsigned int materialIndex, unsigned int wavelengthIndex, double DHR);
455 
457  //getPercentSpecular
465  bool getPercentSpecular(unsigned int materialIndex, unsigned int wavelengthIndex, double &PercentSpecular);
466 
468  //setPercentSpecular
476  void setPercentSpecular(unsigned int materialIndex, unsigned int wavelengthIndex, double PercentSpecular);
477 
478 
480  //getLobeWidth
488  bool getLobeWidth(unsigned int materialIndex, unsigned int wavelengthIndex, double &LobeWidth);
489 
491  //setLobeWidth
499  void setLobeWidth(unsigned int materialIndex, unsigned int wavelengthIndex, double LobeWidth);
500 
501 
503  //isValidMaterialIndex
509  bool isValidMaterialIndex(unsigned int materialIndex);
510 
512  //isValidMaterialLayerIndex
519  bool isValidMaterialLayerIndex(unsigned int materialIndex, unsigned int layerIndex);
520 
522  //isValidMaterialWavelengthIndex
529  bool isValidMaterialWavelengthIndex(unsigned int materialIndex, unsigned int wavelengthIndex);
530 
532  //setUpdateTimeofDay
538  void setUpdateTimeofDay (unsigned int materialIndex, JRMTIME time);
539 
541  //getUpdateTimeofDay
548  bool getUpdateTimeofDay (unsigned int materialIndex, JRMTIME &time);
549 
550 
552  //recomputeTwoSidedFlag
558  bool recomputeTwoSidedFlag (unsigned int materialIndex);
559 
560 
562  //*getMaterialPropertyTablePtr
572  MaterialSystemTablePtrType getMaterialPropertyTablePtr();
573 
575  //getEnvironmentUpdateInterval
580  double getEnvironmentUpdateInterval();
581 
582 
584  //setEnvironmentUpdateInterval
589  void setEnvironmentUpdateInterval(double interval);
590 
592  //hasChanged
597  bool hasChanged();
598 
599 
600 protected:
601 
603  //validate
609  bool validate ();
610 
612  //clean
616  void clean ();
617 
619  MaterialSystemTablePtrType m_materialPropertyTablePtr;
620 
622  unsigned int m_numMaterials;
623 
625  unsigned int m_numTemperatures;
626 
628  char m_dataDirectory[256];
630  char m_cacheDirectory[256];
632  char m_materialSystemFileName[256];
634  char m_timeStamp[256];
637 
638  // flag to know when paths have changed and the validate step needs to be run.
640 };
641 
642 #endif // _ssMaterialProperties_
643 


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