WSF
Sensor.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 SENSOR_HPP
13#define SENSOR_HPP
14
15#include <string>
16
17class Target;
18class UtInput;
19class WsfPlatform;
20#include "WsfSensor.hpp"
21
28
29class Sensor
30{
31public:
32 Sensor();
33 ~Sensor();
34
35 bool AttemptToDetect(Target& aTarget, WsfSensorResult& aResult);
36
37 bool AttemptToDetect(WsfPlatform* aTargetPtr, WsfSensorResult& aResult);
38
39 void ConvertRBA_ToWCS(double aGroundRange, double aBearing, double aAltitude, double aLocationWCS[3]);
40
41 void ConvertWCS_ToRBA(const double aLocationWCS[3], double& aGroundRange, double& aBearing, double& aAltitude);
42
43 bool CreateAndInitialize(WsfSimulation& aSimulation);
44
45 void CueToTarget(Target& aTarget);
46 void CueToTarget(WsfPlatform* aTargetPtr);
47 void SetAutomaticTargetCueing(bool aAutomaticTargetCueing) { mAutomaticTargetCueing = aAutomaticTargetCueing; }
48
49 bool ProcessInput(UtInput& aInput);
50
51 WsfPlatform* GetPlatform() const { return mPlatformPtr; }
52 WsfSensor* GetSensor() const { return mSensorPtr; }
53 double GetSimTime() const { return mSimTime; }
54
55 double GetEarthRadiusMultiplier() const { return mEarthRadiusMultiplier; }
56 double GetHeight() const { return mHeight; }
57 double GetMaximumRange() const { return mMaximumRange; }
58 WsfSensor::Settings& GetSettings() { return mSettings; }
59
60private:
61 std::string mPlatformType;
62 std::string mModeName;
63 bool mAutomaticTargetCueing;
64
65 WsfPlatform* mPlatformPtr;
66 WsfSensor* mSensorPtr;
67 double mHeight;
68 double mMaximumRange;
69 double mEarthRadiusMultiplier;
70
71 WsfSensor::Settings mSettings;
72 double mSimTime;
73};
74
75#endif
bool ProcessInput(UtInput &aInput)
Definition Sensor.cpp:311
void ConvertRBA_ToWCS(double aGroundRange, double aBearing, double aAltitude, double aLocationWCS[3])
Definition Sensor.cpp:78
Sensor()
Definition Sensor.cpp:35
double GetMaximumRange() const
Definition Sensor.hpp:57
void CueToTarget(Target &aTarget)
Definition Sensor.cpp:296
bool CreateAndInitialize(WsfSimulation &aSimulation)
Create a local platform that has the sensor under test.
Definition Sensor.cpp:170
WsfSensor * GetSensor() const
Definition Sensor.hpp:52
WsfPlatform * GetPlatform() const
Definition Sensor.hpp:51
bool AttemptToDetect(Target &aTarget, WsfSensorResult &aResult)
Definition Sensor.cpp:57
double GetEarthRadiusMultiplier() const
Definition Sensor.hpp:55
double GetSimTime() const
Definition Sensor.hpp:53
void SetAutomaticTargetCueing(bool aAutomaticTargetCueing)
Definition Sensor.hpp:47
double GetHeight() const
Definition Sensor.hpp:56
WsfSensor::Settings & GetSettings()
Definition Sensor.hpp:58
~Sensor()
Definition Sensor.cpp:51
void ConvertWCS_ToRBA(const double aLocationWCS[3], double &aGroundRange, double &aBearing, double &aAltitude)
Definition Sensor.cpp:130
Definition Target.hpp:27
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:133
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved