WSF
WsfHeatMap.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 WSFHEATMAP_HPP
13#define WSFHEATMAP_HPP
14
15#include <map>
16#include <vector>
17
18#include "UtHeatMap.hpp"
19class UtInput;
20class UtInputBlock;
21#include "wsf_mil_export.h"
22
24#include "WsfDraw.hpp"
25class WsfLocalTrack;
26#include "WsfPlatform.hpp"
27
33class WSF_MIL_EXPORT WsfHeatMap : public UtHeatMap
34{
35public:
36 WsfHeatMap(const double aGridCenterLLA[3], double aGridExtentMeters, double aGridCellSizeMeters);
37 WsfHeatMap(const WsfHeatMap& aSrc);
38 WsfHeatMap& operator=(const WsfHeatMap&) = delete;
39 WsfHeatMap();
40
41 ~WsfHeatMap() override;
42
43 virtual bool Initialize(WsfPlatform* aPlatformPtr);
44
45 bool ProcessInput(UtInput& aInput);
46
51 void Update(double aSimTime, double aUpdateInterval, std::vector<WsfAssetPerception*>& aPerceivedAssets);
52
54 void LocalTrackDropped(double aSimTime, const WsfLocalTrack* aLocalTrackPtr);
55
59
60 void DrawGrid(double aDrawDuration);
61 void DrawHeat(double aDrawDuration);
63
64private:
65 using UtHeatMap::Initialize;
66 using UtHeatMap::Update;
67
68 WsfPlatform* mPlatformPtr;
69 std::map<size_t, double> mPreviousHeading;
70 double mHeadingChangeLimit;
72 bool mUseAssetPerception;
73 double mSensorRange;
74 bool mDrawGrid;
75 bool mGridDrawn;
76 bool mDrawHeat;
77 bool mDrawSensor;
78 WsfDraw* mDrawObjPtr;
79
86 void UpdateCold(double aSimTime, WsfPlatform* aPlaformPtr, double aLocationWCS[3], double aOrientationNED[3]);
87
91 bool HeadingExceedsLimit(WsfPlatform* aPlaformPtr);
92
93 // Test method for verifying heat map functions
94 void DrawSensorCoverage(double aLocationLLA[3],
95 double aOrentationNED[3],
96 double aSensorRange,
97 double aSensorMinAz,
98 double aSensorMaxAz);
99};
100
101#endif
aObjectPtr Update(simTime)
Provides the capability to draw shapes into the WSF replay file.
Definition WsfDraw.hpp:35
WsfHeatMap & operator=(const WsfHeatMap &)=delete
void DrawHeat(double aDrawDuration)
Definition WsfHeatMap.cpp:321
void DrawGrid(double aDrawDuration)
Definition WsfHeatMap.cpp:265
void LocalTrackDropped(double aSimTime, const WsfLocalTrack *aLocalTrackPtr)
Called to add a track to the heat map.
Definition WsfHeatMap.cpp:234
WsfHeatMap(const double aGridCenterLLA[3], double aGridExtentMeters, double aGridCellSizeMeters)
Definition WsfHeatMap.cpp:30
virtual bool Initialize(WsfPlatform *aPlatformPtr)
Definition WsfHeatMap.cpp:83
bool ProcessInput(UtInput &aInput)
Definition WsfHeatMap.cpp:103
Definition WsfLocalTrack.hpp:32
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Copyrights Multiple, All Rights Reserved