WSF
WsfCircularFieldOfView.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 WSFCIRCULARFIELDOFVIEW_HPP
13#define WSFCIRCULARFIELDOFVIEW_HPP
14
15#include "wsf_export.h"
16
17class UtInput;
18#include "UtMath.hpp"
19#include "WsfFieldOfView.hpp"
20
23{
24public:
26
27 bool operator==(const WsfCircularFieldOfView& aRhs) const { return (mHalfAngle == aRhs.mHalfAngle); }
28 bool operator!=(const WsfCircularFieldOfView& aRhs) const { return (mHalfAngle != aRhs.mHalfAngle); }
29
30 bool ProcessInput(UtInput& aInput) override;
31 const char* GetScriptClassName() const override { return "WsfCircularFieldOfView"; }
32
33 WsfCircularFieldOfView* Clone() const override { return new WsfCircularFieldOfView(*this); }
34
35 bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl) override;
36
38 bool GetAzimuthFieldOfView(double& aMinAzFOV, double& aMaxAzFOV) const override
39 {
40 aMinAzFOV = -mHalfAngle;
41 aMaxAzFOV = mHalfAngle;
42 return true;
43 }
44
46 bool GetElevationFieldOfView(double& aMinElFOV, double& aMaxElFOV) const override
47 {
48 aMinElFOV = -mHalfAngle;
49 aMaxElFOV = mHalfAngle;
50 return true;
51 }
52
54 double GetHalfAngle() const { return mHalfAngle; }
55
57 void SetHalfAngle(double aHalfAngle) { mHalfAngle = aHalfAngle; }
58
59private:
63
64 double mHalfAngle{UtMath::cPI_OVER_2};
66};
67
68#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfCircularFieldOfView * Clone() const override
Definition WsfCircularFieldOfView.hpp:33
bool operator==(const WsfCircularFieldOfView &aRhs) const
Definition WsfCircularFieldOfView.hpp:27
void SetHalfAngle(double aHalfAngle)
Set the conical half-angle defining the field-of-view.
Definition WsfCircularFieldOfView.hpp:57
WsfCircularFieldOfView()
Definition WsfCircularFieldOfView.cpp:18
bool operator!=(const WsfCircularFieldOfView &aRhs) const
Definition WsfCircularFieldOfView.hpp:28
bool GetElevationFieldOfView(double &aMinElFOV, double &aMaxElFOV) const override
Provide the elevation field of view.
Definition WsfCircularFieldOfView.hpp:46
double GetHalfAngle() const
Return the conical half-angle defining the field-of-view.
Definition WsfCircularFieldOfView.hpp:54
const char * GetScriptClassName() const override
Definition WsfCircularFieldOfView.hpp:31
bool GetAzimuthFieldOfView(double &aMinAzFOV, double &aMaxAzFOV) const override
Provide the azimuth field of view.
Definition WsfCircularFieldOfView.hpp:38
Definition WsfFieldOfView.hpp:36
virtual bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl)=0
virtual bool ProcessInput(UtInput &aInput)
Definition WsfFieldOfView.cpp:29
Copyrights Multiple, All Rights Reserved