18#include "wsf_parser_export.h"
26#include "UtOptional.hpp"
74 return (typePtr && typePtr->
mTypeName ==
"ZoneDefinition");
79 return (typePtr && typePtr->
mTypeName ==
"ZoneSet");
81 bool Rename(std::string aNewName);
85 std::string ParentPlatform()
const;
91 std::vector<WsfPM_Zone> GetReferencingZones()
const;
94 std::vector<WsfPM_ZoneSet> GetUsingZoneSets()
const;
96 virtual ut::optional<UtColor> GetFillColor()
const;
97 virtual ut::optional<UtColor> GetLineColor()
const;
118 DefinitionType GetDefinitionType()
const;
160 bool UseLatLon()
const;
163 bool UseMGRS()
const;
166 bool UsePolar()
const;
169 bool UseOffset()
const;
173 bool IsAbsolute()
const;
187 WsfProxy::Position Position() const noexcept;
195 std::
string ReferencePlatform() const;
198 std::
string ReferenceZone() const;
201 bool Negative() const;
232 bool ReferencePoint(
double& aX,
double& aY,
bool& aIsLatLon) const;
246 ut::optional<WsfPM_Zone::Point> ReferencePoint()
const;
260 bool IsReferencePlatformValid()
const;
262 ut::optional<UtColor> GetFillColor()
const override;
264 ut::optional<UtColor> GetLineColor()
const override;
267 template<
typename BASIC_VALUE>
268 BASIC_VALUE GetZoneAttr(
const std::string& aAttrName, std::set<std::string>& aRefStack)
const;
270 ut::optional<UtColor> GetColorAttr(
const std::string& aAttrName, std::set<std::string>& aRefStack)
const;
WsfPM_ObjectList< WsfPM_ZoneDefinition > WsfPM_ZoneDefinitionList
Definition WsfPM_Zone.hpp:276
WsfPM_ObjectMapT< WsfPM_Zone > WsfPM_ZoneMap
Definition WsfPM_Zone.hpp:297
WsfPM_ObjectList< WsfPM_ZonePoint > WsfPM_ZonePointList
Definition WsfPM_Zone.hpp:52
Definition WsfPM_ObjectList.hpp:24
Definition WsfPM_ObjectList.hpp:53
Definition WsfPM_ObjectMap.hpp:88
Definition WsfPM_Zone.hpp:100
AuxDataMap AuxData() const
Definition WsfPM_Zone.cpp:153
void SetDefinitionType(DefinitionType aType)
Definition WsfPM_Zone.hpp:120
WsfPM_Zone::Point GetPoint(size_t aIndex) const
Returns the point at the given index. If there is no point at this index, returns an empty instance.
Definition WsfPM_Zone.cpp:275
size_t PointCount() const
Returns the number of points on this polygonal zone.
Definition WsfPM_Zone.cpp:679
std::map< std::string, std::string > AuxDataMap
Definition WsfPM_Zone.hpp:203
std::vector< WsfPM_Zone::Point > Points() const
Returns the points that define this polygonal zone.
Definition WsfPM_Zone.cpp:176
WsfPM_ZonePointList PointList() const
Returns a list of zone point proxy nodes on this poygonal zone node. If none are defined for this zon...
Definition WsfPM_Zone.cpp:737
bool ReferencePoint(double &aX, double &aY, bool &aIsLatLon) const
Calculates the reference point for a relative zone defined using absolute coordinates.
Definition WsfPM_Zone.cpp:530
WsfPM_ZoneDefinition(const WsfPProxyNode &aNode)
Definition WsfPM_Zone.hpp:103
WsfPM_ZoneDefinition()
Definition WsfPM_Zone.hpp:102
WsfPM_ZonePoint GetPointNode(size_t aIndex) const
Returns the point proxy node at the given index. If there is no point at this index,...
Definition WsfPM_Zone.cpp:111
DefinitionType
Definition WsfPM_Zone.hpp:109
@ cCIRCULAR
Definition WsfPM_Zone.hpp:111
@ cELLIPTICAL
Definition WsfPM_Zone.hpp:112
@ cTYPE_NOT_SET
Definition WsfPM_Zone.hpp:110
@ cPOLYGONAL
Definition WsfPM_Zone.hpp:113
@ cSPHERICAL
Definition WsfPM_Zone.hpp:114
Definition WsfPM_Zone.hpp:33
WsfPM_ZonePoint(const WsfPProxyNode &aNode)
Definition WsfPM_Zone.hpp:35
WsfPM_ZonePoint()
Definition WsfPM_Zone.hpp:39
Definition WsfPM_Zone.hpp:279
WsfPM_List InclusionZones() const
Definition WsfPM_Zone.hpp:291
WsfPM_ZoneSet()
Definition WsfPM_Zone.hpp:281
WsfPM_ZoneSet(const WsfPProxyNode &aNode)
Definition WsfPM_Zone.hpp:285
WsfPM_ZoneDefinitionList EmbeddedExclusionZones() const
Definition WsfPM_Zone.hpp:294
WsfPM_ZoneDefinitionList EmbeddedInclusionZones() const
Definition WsfPM_Zone.hpp:293
WsfPM_List ExclusionZones() const
Definition WsfPM_Zone.hpp:292
Definition WsfPM_Zone.hpp:57
ZoneType
Definition WsfPM_Zone.hpp:61
@ cZONE_SET
Definition WsfPM_Zone.hpp:62
@ cZONE_DEFINITION
Definition WsfPM_Zone.hpp:63
WsfPM_Zone()
Definition WsfPM_Zone.hpp:65
bool IsZoneSet() const
Definition WsfPM_Zone.hpp:76
UtVec2d Point
Definition WsfPM_Zone.hpp:59
bool IsDefinition() const
Definition WsfPM_Zone.hpp:71
WsfPM_Zone(const WsfPProxyNode &aNode)
Definition WsfPM_Zone.hpp:66
Definition WsfPProxyNode.hpp:60
void NotifyAttributeChanged(const char *aAttributeName) const
Definition WsfPProxyNode.cpp:807
WsfPProxyValue GetValue() const
Definition WsfPProxyNode.cpp:79
WsfPProxyNode()
Definition WsfPProxyNode.cpp:24
Definition WsfPProxyType.hpp:37
std::string mTypeName
Definition WsfPProxyType.hpp:59
void SetIntegerValue(int aValue)
Definition WsfPProxyValue.cpp:348
const WsfPProxyType * GetType() const
Definition WsfPProxyValue.hpp:61
WsfPProxyValue GetAttr(const WsfPProxyKey &aEntry) const
Definition WsfPProxyValue.hpp:62
Definition WsfPProxyBasicValues.hpp:167
Definition WsfPProxyBasicValues.hpp:478
Definition WsfPProxyBasicValues.hpp:41
NumericValueT< UtLonPos, WsfProxy::cLONGITUDE_VALUE > Longitude
Definition WsfPProxyBasicValues.hpp:411
NumericUnitaryValueT< UtLengthValue, WsfProxy::cLENGTH_VALUE > Length
Definition WsfPProxyBasicValues.hpp:413
NumericValueT< UtLatPos, WsfProxy::cLATITUDE_VALUE > Latitude
Definition WsfPProxyBasicValues.hpp:409
NumericUnitaryValueT< UtAngleValue, WsfProxy::cANGLE_VALUE > Angle
Definition WsfPProxyBasicValues.hpp:445
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185