15 #include <vlutil/vlFilename.h>
16 #include <vlutil/vlString.h>
17 #include <vlutil/vlSmartPointers.h>
21 #include <boost/unordered_map.hpp>
28 #include <tbb/spin_rw_mutex.h>
67 virtual bool init(
const DtFilename
filename,
bool displayWarning =
false);
72 unsigned int& characteristics,
int& position,
int& matchClass)
const;
74 unsigned int& characteristics,
int& position,
int& matchClass)
const;
76 unsigned int& characteristics)
const;
78 virtual void printResults(
const char* str,
unsigned int characteristics,
const char* additionalInformation = 0)
const;
86 virtual bool get(std::istream&
stream);
91 typedef boost::unordered_map<DtString, boost::shared_ptr<Entry> >
MatchMap;
92 typedef std::map<DtString, boost::shared_ptr<Entry> >
EntryList;
virtual bool init(const DtFilename filename, bool displayWarning=false)
Initialize the metafile. Calls createSurface().
boost::unordered_map< DtString, boost::shared_ptr< Entry > > MatchMap
Definition: surfaceCharacteristicsMap.h:91
structCharacteristicsFromString(const DtFilename &exactMatch, const DtString &duplicateString)
Definition: surfaceCharacteristicsMap.h:104
int myCurrentPosition
Definition: surfaceCharacteristicsMap.h:97
Definition: surfaceCharacteristicsMap.h:102
static const DtString theMatchString
Definition: surfaceCharacteristicsMap.h:99
std::set< std::string > myPrintedMessages
This is here to prevent error/status messages from streaming out endlessly. Should probably be change...
Definition: surfaceCharacteristicsMap.h:129
DtString myDuplicateString
Definition: surfaceCharacteristicsMap.h:110
const DT_DLL_vantageTerrainImplementation DtSurface & DtUndefinedSoilType()
return A DtSurface that is the undefined soil type. This should move to surface.h ...
Definition: surface.h:181
MatchMap myExactMatches
Definition: surfaceCharacteristicsMap.h:94
DtBoost::shared_ptr< const DtSurfaceCharacteristicMap > DtSurfaceCharacteristicMapConstPtr
Definition: surfaceCharacteristicsMap.h:31
Definition: surfaceCharacteristicsMap.h:46
const DT_DLL_vantageTerrainImplementation DtSurface & DtTreeSoilType()
virtual bool matches(const DtString &str) const =0
virtual bool characteristicsFromString(const char *str, unsigned int &characteristics, int &position, int &matchClass) const
Set characteristics based on a string (version are doing the same thing but with the accurate paramet...
DtSurfaceCharacteristicMap()
default constructor.
std::map< std::string, structCharacteristicsFromString > CharacteristicsFromStringMap
Definition: surfaceCharacteristicsMap.h:113
static DtSurfaceCharacteristicMapConstPtr createSurfCharMap(const DtFilename &surfCharFile)
Creates a new DtSurfaceCharacteristicMap instance and initializes it with the specified file...
tbb::spin_rw_mutex myPrintedMessagesMutex
Definition: surfaceCharacteristicsMap.h:130
virtual void printResults(const char *str, unsigned int characteristics, const char *additionalInformation=0) const
tbb::spin_rw_mutex myCharacteristicsFromStringCacheMutex
Mutex to control access to myCharacteristicsFromStringCache.
Definition: surfaceCharacteristicsMap.h:119
DtBoost::shared_ptr< DtSurfaceCharacteristicMap > DtSurfaceCharacteristicMapPtr
Definition: surfaceCharacteristicsMap.h:34
virtual int position() const =0
voidpf stream
Definition: ioapi.h:39
unsigned int DtCharacteristics
Definition: surface.h:198
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
EntryList myEntries
Definition: surfaceCharacteristicsMap.h:95
CharacteristicsFromStringMap myCharacteristicsFromStringCache
Keep a cache of the string already process in characteristicsFromString() to speed up the search...
Definition: surfaceCharacteristicsMap.h:116
virtual bool processToken(std::istream &stream, const DtString &token)
identifies a token or passes token the parent class.
std::map< DtString, boost::shared_ptr< Entry > > EntryList
Definition: surfaceCharacteristicsMap.h:92
virtual DtSurface::DtCharacteristics characteristics() const =0
virtual ~DtSurfaceCharacteristicMap()
destructor
Definition: surfaceCharacteristicsMap.h:50
const DT_DLL_vantageTerrainImplementation DtSurface & DtJimDefinedSoilType()
static const DtString theRegExprMatchString
Definition: surfaceCharacteristicsMap.h:100
DtFilename myExactMatch
Definition: surfaceCharacteristicsMap.h:109