Public Member Functions |
| virtual | ~DtDaymarkStringParser () |
| | virtual DTOR
|
| virtual bool | readObjectMappingFile (const std::string &path, const std::string &daymarkMappingsFileName) |
| | Read the file that specifies the values to use for each S57 attribute.
|
| virtual | ~DtNavigationFeatureStringParser () |
| | virtual DTOR
|
| virtual void | parse (const std::string &stringToParse) |
| | Break the string supplied with a streamed object into its component tokens and build the ParsedAttributeValueMap.
|
| virtual std::string | attributeValue (const std::string &attrName) const |
| | Get the attribute value for the specified attribute name for the most recently parsed string.
|
virtual const
ParsedAttributeValueMap & | results () const |
| | Get the map of all attributes and associated values for the most recently parsed string.
|
| virtual void | insertAttributeValue (std::pair< std::string, std::string > newPair) |
| | Insert a new pair into the parsed results.
|
| virtual void | clearParseResultStrings () |
| | Clear the results map in preparation for a new parse.
|
The DtDaymarkStringParser parses the daymark attributes found in the strings used by streamed daymark names.
The string is a ':' separated list; The fields provide the attribute/value pairs in the form ATTRIBUTE=VALUE. Value comes directly from an S-57 data (or a shape file extracted from S-57). These values may themselves be comma-separated lists of values.
Example: The following is specified as the daymark name in the .earth file: "COLOUR=" + [COLOUR] + ":COLPAT=" + [COLPAT] + ":PERSTA=" + [PERSTA]
- ":PEREND=" + [PEREND] + ":OBJNAM=" + [OBJNAM] + ":CATSPM=" + [CATSPM]
- ":TOPSHP=" + [TOPSHP]; When the marker is streamed in, osgEarth replaces [COLOUR] with the attribute values in the S-57 or shape file, say 3, 1, and 8 respectively. Then the resulting marker string is "COLOUR=3:TOPSHP=1:CATSPM=8". These are broken down into attribute/value pairs that can then be accessed by the DtDaymarkFeatureBuilder. Note that [COLOUR] may be a list of colors; in this case, the colors are concatenated