WSF
WsfFieldOfView.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 2016 Infoscitex, a DCS 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 WSFFIELDOFVIEW_HPP
13#define WSFFIELDOFVIEW_HPP
14
15#include "wsf_export.h"
16
17class UtInput;
18#include "UtScriptAccessible.hpp"
20class WsfPlatform;
21class WsfEM_Antenna;
22class WsfScenario;
23#include "WsfStringId.hpp"
24
35class WSF_EXPORT WsfFieldOfView : public UtScriptAccessible
36{
37public:
38 virtual bool ProcessInput(UtInput& aInput);
39 virtual bool Initialize(const WsfArticulatedPart& aArticulatedPart);
40 const char* GetScriptClassName() const override { return "WsfFieldOfView"; }
41
44 virtual WsfFieldOfView* Clone() const = 0;
45
47
48
54 virtual bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl) = 0;
55
56 virtual bool WithinFieldOfView(WsfArticulatedPart* aArticulatedPart,
57 double aTgtLocWCS[3],
58 double aEarthRadiusMultiplier,
59 double& aTrueThisToTgtAz,
60 double& aTrueThisToTgtEl,
61 double aApparentThisToTgtLocWCS[3],
62 double& aApparentThisToTgtAz,
63 double& aApparentThisToTgtEl,
64 double aApparentTgtToThisLocWCS[3]);
65
66 virtual bool WithinFieldOfView(WsfEM_Antenna* aAntennaPtr,
67 double aTgtLocWCS[3],
68 double aEarthRadiusMultiplier,
69 double& aTrueThisToTgtAz,
70 double& aTrueThisToTgtEl,
71 double aApparentThisToTgtLocWCS[3],
72 double& aApparentThisToTgtAz,
73 double& aApparentThisToTgtEl,
74 double aApparentTgtToThisLocWCS[3]);
76
82 virtual bool GetAzimuthFieldOfView(double& aMinAzFOV, double& aMaxAzFOV) const { return false; }
83
89 virtual bool GetElevationFieldOfView(double& aMinElFOV, double& aMaxElFOV) const { return false; }
90
96 virtual bool SetAzimuthFieldOfView(double aMinAzFOV, double aMaxAzFOV) { return false; }
97
103 virtual bool SetElevationFieldOfView(double aMinElFOV, double aMaxElFOV) { return false; }
104
108 const WsfStringId& GetType() const { return mType; }
109
110protected:
112 void SetType(const WsfStringId& aType) { mType = aType; }
113
114 const WsfArticulatedPart* GetArticulatedPart() const { return mArticulatedPartPtr; }
115
116private:
117 WsfStringId mType;
118 const WsfArticulatedPart* mArticulatedPartPtr = nullptr;
119};
120
121#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfArticulatedPart.hpp:36
Definition WsfEM_Antenna.hpp:49
Definition WsfFieldOfView.hpp:36
virtual bool GetAzimuthFieldOfView(double &aMinAzFOV, double &aMaxAzFOV) const
Definition WsfFieldOfView.hpp:82
const char * GetScriptClassName() const override
Definition WsfFieldOfView.hpp:40
virtual bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl)=0
virtual bool Initialize(const WsfArticulatedPart &aArticulatedPart)
Definition WsfFieldOfView.cpp:39
virtual bool SetElevationFieldOfView(double aMinElFOV, double aMaxElFOV)
Definition WsfFieldOfView.hpp:103
void SetType(const WsfStringId &aType)
Set the type corresponding with the type of derived class.
Definition WsfFieldOfView.hpp:112
virtual bool GetElevationFieldOfView(double &aMinElFOV, double &aMaxElFOV) const
Definition WsfFieldOfView.hpp:89
virtual bool SetAzimuthFieldOfView(double aMinAzFOV, double aMaxAzFOV)
Definition WsfFieldOfView.hpp:96
const WsfArticulatedPart * GetArticulatedPart() const
Definition WsfFieldOfView.hpp:114
virtual bool ProcessInput(UtInput &aInput)
Definition WsfFieldOfView.cpp:29
virtual WsfFieldOfView * Clone() const =0
const WsfStringId & GetType() const
Definition WsfFieldOfView.hpp:108
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Copyrights Multiple, All Rights Reserved