WSF
WsfPolygonalFieldOfView.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 WSFPOLYGONALFIELDOFVIEW_HPP
13#define WSFPOLYGONALFIELDOFVIEW_HPP
14
15#include "wsf_export.h"
16
17#include <vector>
18
19class UtInput;
21#include "WsfFieldOfView.hpp"
22#include "WsfZoneDefinition.hpp"
23
26{
27public:
31
32 bool operator==(const WsfPolygonalFieldOfView& aRhs) const;
33 bool operator!=(const WsfPolygonalFieldOfView& aRhs) const;
34
35 bool ProcessInput(UtInput& aInput) override;
36 bool Initialize(const WsfArticulatedPart& aArticulatedPart) override;
37 const char* GetScriptClassName() const override { return "WsfPolygonalFieldOfView"; }
38
39 WsfFieldOfView* Clone() const override { return new WsfPolygonalFieldOfView(*this); }
40
41 bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl) override;
42
43 using AzElPoints = std::vector<std::pair<double, double>>;
44 const AzElPoints& GetAzElPoints() const { return mAzElPoints; }
45 const WsfZoneDefinition& GetPoints() const { return mZoneDefinition; }
46
47private:
48 AzElPoints mAzElPoints;
49 WsfZoneDefinition mZoneDefinition;
50};
51
52#endif
bool operator!=(int aId, const WsfStringInt &aRhs)
Not equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:75
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfArticulatedPart.hpp:36
Definition WsfFieldOfView.hpp:36
virtual bool WithinFieldOfView(double aThisToTgtAz, double aThisToTgtEl)=0
virtual bool Initialize(const WsfArticulatedPart &aArticulatedPart)
Definition WsfFieldOfView.cpp:39
virtual bool ProcessInput(UtInput &aInput)
Definition WsfFieldOfView.cpp:29
const char * GetScriptClassName() const override
Definition WsfPolygonalFieldOfView.hpp:37
const WsfZoneDefinition & GetPoints() const
Definition WsfPolygonalFieldOfView.hpp:45
WsfPolygonalFieldOfView & operator=(const WsfPolygonalFieldOfView &)=delete
const AzElPoints & GetAzElPoints() const
Definition WsfPolygonalFieldOfView.hpp:44
WsfFieldOfView * Clone() const override
Definition WsfPolygonalFieldOfView.hpp:39
WsfPolygonalFieldOfView()
Definition WsfPolygonalFieldOfView.cpp:24
std::vector< std::pair< double, double > > AzElPoints
Definition WsfPolygonalFieldOfView.hpp:43
A class for defining a zone.
Definition WsfZoneDefinition.hpp:32
Copyrights Multiple, All Rights Reserved