WSF
WsfZoneReference.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFZONEREFERENCE_HPP
13#define WSFZONEREFERENCE_HPP
14
15#include "wsf_export.h"
16
17#include <string>
18
19class WsfGeoPoint;
20#include "WsfStringId.hpp"
21#include "WsfZone.hpp"
22
30{
31public:
32 WsfZoneReference() = delete;
33 WsfZoneReference(const std::string& aSharedZoneName);
35 ~WsfZoneReference() override = default;
36
37 WsfZone* Clone() const override;
38
39 void Initialize(const WsfScenario& aScenario) override;
40
41 bool PointIsInside(WsfSimulation* aSimulationPtr,
42 const double aViewedPointWCS[3],
43 const double aEyePointWCS[3],
44 const double aLookHeading,
45 const double aDeltaDownRange = 0.0) override;
46
47 double Area() override;
48
49 WsfGeoPoint Reference() override;
50 WsfGeoPoint Centroid() override;
51
52 void MaxPoint(double& aX, double& aY, double& aAlt) override;
53 void MinPoint(double& aX, double& aY, double& aAlt) override;
54
55 void DebugDrawZone(WsfDraw& aDraw) override;
56 void DebugDrawCentroid(WsfDraw& aDraw) override;
57 void DebugDrawBounds(WsfDraw& aDraw) override;
58
59 ut::optional<UtColor> GetFillColor() const override;
60 ut::optional<UtColor> GetLineColor() const override;
61
63 const std::map<WsfStringId, double>& GetModifierList() const override;
64
66 double ModifierValue(const std::string& aModifierName) const override;
67
68 WsfStringId GetReferencedZoneName() const { return mSharedZoneName; }
69 WsfZone* GetReferencedZone() const { return mSharedZonePtr; }
70
71protected:
73
74private:
75 WsfStringId mSharedZoneName;
76 WsfZone* mSharedZonePtr;
77};
78
79#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Provides the capability to draw shapes into the WSF replay file.
Definition WsfDraw.hpp:35
Definition WsfGeoPoint.hpp:29
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfZoneReference.hpp:30
~WsfZoneReference() override=default
WsfStringId GetReferencedZoneName() const
Definition WsfZoneReference.hpp:68
WsfZone * GetReferencedZone() const
Definition WsfZoneReference.hpp:69
WsfZoneReference & operator=(const WsfZoneReference &)=delete
WsfZoneReference()=delete
Definition WsfZone.hpp:63
virtual void MinPoint(double &aX, double &aY, double &aAlt)
Definition WsfZone.cpp:194
virtual void DebugDrawBounds(WsfDraw &aDraw)
Definition WsfZone.hpp:139
bool Initialize(double aSimTime) override
Definition WsfZone.cpp:123
virtual ut::optional< UtColor > GetFillColor() const
Definition WsfZone.hpp:157
virtual const std::map< WsfStringId, double > & GetModifierList() const
Get the modifier list for WsfZoneAttenuation.
Definition WsfZone.hpp:145
virtual void DebugDrawZone(WsfDraw &aDraw)
Definition WsfZone.hpp:141
WsfZone()
Definition WsfZone.cpp:21
virtual WsfGeoPoint Reference()=0
virtual double ModifierValue(const std::string &aModifierName) const
returns the value of the modifier matching the given name
Definition WsfZone.cpp:202
virtual double Area()
Definition WsfZone.cpp:171
virtual void MaxPoint(double &aX, double &aY, double &aAlt)
Definition WsfZone.cpp:185
virtual ut::optional< UtColor > GetLineColor() const
Definition WsfZone.hpp:158
WsfZone * Clone() const override=0
The standard Clone() method (virtual copy constructor).
virtual bool PointIsInside(WsfSimulation *aSimulationPtr, const double aViewedPointWCS[3], const double aEyePointWCS[3], const double aLookHeading, const double aDeltaDownRange=0.0)
Definition WsfZone.cpp:160
virtual void DebugDrawCentroid(WsfDraw &aDraw)
Definition WsfZone.hpp:140
virtual WsfGeoPoint Centroid()
Definition WsfZone.cpp:178
Copyrights Multiple, All Rights Reserved