WSF
WsfRadarSignature.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 WSFRADARSIGNATURE_HPP
13#define WSFRADARSIGNATURE_HPP
14
15#include "wsf_export.h"
16
17class UtScriptTypes;
18#include "WsfEM_Types.hpp"
19class WsfEM_Rcvr;
20class WsfEM_Xmtr;
21class WsfPlatform;
22class WsfScenario;
23#include "WsfSignature.hpp"
24
27{
28public:
29 enum
30 {
32 };
33
35 WsfRadarSignature* Clone() const override = 0;
36
37 // =================================================================================================
50 virtual float GetSignature(WsfStringId aStateId,
51 WsfEM_Types::Polarization aPolarization,
52 double aFrequency,
53 double aTgtToXmtrAz,
54 double aTgtToXmtrEl,
55 double aTgtToRcvrAz,
56 double aTgtToRcvrEl,
57 WsfEM_Xmtr* aXmtrPtr = nullptr,
58 WsfEM_Rcvr* aRcvrPtr = nullptr) = 0;
59
62 virtual std::pair<float, float> GetSignatureLimits(WsfStringId aStateId, WsfEM_Types::Polarization aPolarization) const;
63
68
69 static WsfStringId GetInputType(WsfPlatform* aPlatformPtr);
70
71 static WsfStringId GetState(WsfPlatform* aPlatformPtr);
72
73 static bool SetState(WsfPlatform* aPlatformPtr, WsfStringId aState);
74
75 static float GetScaleFactor(WsfPlatform* aPlatformPtr);
76
77 static bool SetScaleFactor(WsfPlatform* aPlatformPtr, float aScaleFactor);
78
79 static float GetValue(WsfPlatform* aPlatformPtr,
80 WsfEM_Types::Polarization aPolarization,
81 double aFrequency,
82 double aTgtToXmtrAz,
83 double aTgtToXmtrEl,
84 double aTgtToRcvrAz,
85 double aTgtToRcvrEl);
86
87 static float GetValue(WsfPlatform* aPlatformPtr,
88 WsfEM_Xmtr* aXmtrPtr,
89 WsfEM_Rcvr* aRcvrPtr,
90 double aTgtToXmtrAz,
91 double aTgtToXmtrEl,
92 double aTgtToRcvrAz,
93 double aTgtToRcvrEl);
94
95 static WsfRadarSignature* GetSignature(WsfPlatform* aPlatformPtr);
96
97 static bool SetSignature(WsfPlatform* aPlatformPtr, WsfRadarSignature* aSignaturePtr);
99
100 static void RegisterScriptMethods(UtScriptTypes& aScriptTypes);
101 static void RegisterInterface(WsfScenario& aScenario);
102};
103
104#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
An object that represent the radar signature of a platform.
Definition WsfRadarSignature.hpp:27
WsfRadarSignature()
Definition WsfRadarSignature.cpp:30
static void RegisterScriptMethods(UtScriptTypes &aScriptTypes)
Definition WsfRadarSignature.cpp:380
static float GetValue(WsfPlatform *aPlatformPtr, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl)
Definition WsfRadarSignature.cpp:163
static float GetScaleFactor(WsfPlatform *aPlatformPtr)
Definition WsfRadarSignature.cpp:137
virtual std::pair< float, float > GetSignatureLimits(WsfStringId aStateId, WsfEM_Types::Polarization aPolarization) const
Definition WsfRadarSignature.cpp:35
static bool SetSignature(WsfPlatform *aPlatformPtr, WsfRadarSignature *aSignaturePtr)
Definition WsfRadarSignature.cpp:257
static bool SetScaleFactor(WsfPlatform *aPlatformPtr, float aScaleFactor)
Definition WsfRadarSignature.cpp:147
virtual float GetSignature(WsfStringId aStateId, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl, WsfEM_Xmtr *aXmtrPtr=nullptr, WsfEM_Rcvr *aRcvrPtr=nullptr)=0
WsfRadarSignature * Clone() const override=0
static bool SetState(WsfPlatform *aPlatformPtr, WsfStringId aState)
Definition WsfRadarSignature.cpp:128
@ cSIGNATURE_INDEX
Index of signature within WsfSignatureList (must be unique).
Definition WsfRadarSignature.hpp:31
static void RegisterInterface(WsfScenario &aScenario)
Register the platform interface object on the prototype signature list in the specified scenario.
Definition WsfRadarSignature.cpp:394
static WsfStringId GetInputType(WsfPlatform *aPlatformPtr)
Definition WsfRadarSignature.cpp:109
static WsfStringId GetState(WsfPlatform *aPlatformPtr)
Definition WsfRadarSignature.cpp:118
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSignature()
Definition WsfSignature.cpp:19
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21
Copyrights Multiple, All Rights Reserved