16 #include <unordered_map>
71 virtual bool parseAtlasIfNecessary(
const std::string& inputFile);
75 virtual bool retrieveTextureAtlasUV(
const std::string& annotation,
81 virtual bool retrieveTextureAtlasUV(
const AttrValuePairVec & categoryValuePairs,
82 std::vector<AtlasResult>& results);
85 virtual bool hasSeen(
const std::string& fileName);
88 virtual void setCurrentFile(
const std::string& fileName);
91 virtual const std::string& currentFile()
const;
95 virtual void setDefaultUV(
float u,
float v);
98 virtual void defaultUV(
float& u,
float& v);
103 virtual void setDefaultAttribute(
const std::string& annotation);
107 virtual const std::string& defaultAttribute()
const;
112 virtual void setDefaultValue(
const std::string& value);
116 virtual const std::string& defaultValue()
const;
125 typedef std::unordered_multimap<std::string, AttrValuePairVec >
AnnotVecMap;
126 typedef std::unordered_multimap<std::string, AttrValuePairVec >::iterator
AnnotVecMapItr;
129 typedef std::unordered_map<std::string, AnnotVecMap>
FileMap;
130 typedef std::unordered_map<std::string, AnnotVecMap>::iterator
FileMapItr;
136 typedef std::unordered_map<std::string, AnnotAttrMap>
AttrMap;
std::unordered_multimap< std::string, AttrValuePairVec >::iterator AnnotVecMapItr
Definition: DtTextureAtlasIndexParser.h:126
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
StringOrFloatAttrib(const std::string &name)
Definition: DtTextureAtlasIndexParser.h:53
std::unordered_map< std::string, AnnotAttrMap > AttrMap
Definition: DtTextureAtlasIndexParser.h:136
float vOffset
Definition: DtTextureAtlasIndexParser.h:42
friend DtTextureAtlasIndexParserCreator
Instances of DtTextureAtlasIndexParser must be created through the creator function.
Definition: DtTextureAtlasIndexParser.h:47
std::string myDefaultAnnotation
Definition: DtTextureAtlasIndexParser.h:152
std::mutex myDataMutex
Definition: DtTextureAtlasIndexParser.h:155
Results for setting UV offsets ex. (annotation="texture1", uOffset=0.1, vOffset=-0.25)
Definition: DtTextureAtlasIndexParser.h:38
std::unordered_multimap< std::string, AttrValuePairVec > AnnotVecMap
Definition: DtTextureAtlasIndexParser.h:125
std::string myText
Definition: DtTextureAtlasIndexParser.h:51
Definition: DtTextureAtlasIndexParser.h:33
std::vector< AttrValuePair > AttrValuePairVec
Typedef for a vector of S-57 attribute/value pairs and a UV coord ex. v = { ("COLOUR", "Red"), ("COLPAT", "HorizontalStriped") , ...., ("U", "0.1"), ("V", "0.2") }.
Definition: DtTextureAtlasIndexParser.h:63
std::string annotation
Definition: DtTextureAtlasIndexParser.h:40
std::set< std::string > AttributeSet
Definition: DtTextureAtlasIndexParser.h:133
std::string myCurrentAtlasIndex
Definition: DtTextureAtlasIndexParser.h:145
float uOffset
Definition: DtTextureAtlasIndexParser.h:41
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
StringOrFloatAttrib(const std::string &name, float value)
Definition: DtTextureAtlasIndexParser.h:54
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
struct for capturing the floating point value to avoid parsing constantly.
Definition: DtTextureAtlasIndexParser.h:50
FileMap myFileAttrValueUVMap
Definition: DtTextureAtlasIndexParser.h:139
std::unordered_map< std::string, AnnotVecMap >::iterator FileMapItr
Definition: DtTextureAtlasIndexParser.h:130
DtVirtualBaseClassCreator< DtTextureAtlasIndexParser > DtTextureAtlasIndexParserCreator
creator
Definition: DtTextureAtlasIndexParser.h:23
AttrMap myAttributeOnlyMap
Definition: DtTextureAtlasIndexParser.h:143
float myDefaultU
Definition: DtTextureAtlasIndexParser.h:148
DtDe & myDe
Definition: DtTextureAtlasIndexParser.h:156
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:160
std::unordered_map< std::string, AttributeSet > AnnotAttrMap
Definition: DtTextureAtlasIndexParser.h:135
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
std::unordered_map< std::string, AnnotVecMap > FileMap
Definition: DtTextureAtlasIndexParser.h:129
std::pair< std::string, StringOrFloatAttrib > AttrValuePair
Typedef for S-57 attribute/value pairs valuePair = ("COLOUR", "Red") = ( attribute, value )
Definition: DtTextureAtlasIndexParser.h:58
float myDefaultV
Definition: DtTextureAtlasIndexParser.h:149
std::string myDefaultValue
Definition: DtTextureAtlasIndexParser.h:153
float myValue
Definition: DtTextureAtlasIndexParser.h:52
const char * creatorTypeName< DtTextureAtlasIndexParser >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtTextureAtlasIndexParser.h:30
Contains DLL export macros.