WSF
WsfAcousticSignature.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 WSFACOUSTICSIGNATURE_HPP
13#define WSFACOUSTICSIGNATURE_HPP
14
15#include "wsf_mil_export.h"
16
17class UtScriptTypes;
18class WsfPlatform;
19class WsfScenario;
20#include "WsfSignature.hpp"
21
23class WSF_MIL_EXPORT WsfAcousticSignature : public WsfSignature
24{
25public:
26 enum
27 {
29 };
31 WsfAcousticSignature* Clone() const override = 0;
32
36 virtual double GetNoisePressure(WsfStringId aStateId, double aFrequency) = 0;
37
44 virtual double GetNoisePressure(WsfStringId aStateId, double aFrequency, double aTgtToRcvrAz, double aTgtToRcvrEl) = 0;
45
48 virtual std::pair<double, double> GetNoisePressureLimits(WsfStringId aStateId) const;
49
54
55 static WsfStringId GetInputType(WsfPlatform* aPlatformPtr);
56
57 static WsfStringId GetState(WsfPlatform* aPlatformPtr);
58
59 static bool SetState(WsfPlatform* aPlatformPtr, WsfStringId aState);
60
61 static float GetScaleFactor(WsfPlatform* aPlatformPtr);
62
63 static bool SetScaleFactor(WsfPlatform* aPlatformPtr, float aScaleFactor);
64
65 static double GetValue(WsfPlatform* aPlatformPtr, double aFrequency);
66
67 static double GetValue(WsfPlatform* aPlatformPtr, double aFrequency, double aTgtToRcvrAz, double aTgtToRcvrEl);
69
70 static void RegisterScriptMethods(UtScriptTypes& aScriptTypes);
71 static void RegisterInterface(WsfScenario& aScenario);
72};
73
74#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
@ cSIGNATURE_INDEX
Index of signature within WsfSignatureList (must be unique).
Definition WsfAcousticSignature.hpp:28
WsfAcousticSignature * Clone() const override=0
static void RegisterScriptMethods(UtScriptTypes &aScriptTypes)
Definition WsfAcousticSignature.cpp:177
static WsfStringId GetState(WsfPlatform *aPlatformPtr)
Definition WsfAcousticSignature.cpp:91
static float GetScaleFactor(WsfPlatform *aPlatformPtr)
Definition WsfAcousticSignature.cpp:110
WsfAcousticSignature()=default
static bool SetScaleFactor(WsfPlatform *aPlatformPtr, float aScaleFactor)
Definition WsfAcousticSignature.cpp:120
static double GetValue(WsfPlatform *aPlatformPtr, double aFrequency)
Definition WsfAcousticSignature.cpp:131
virtual double GetNoisePressure(WsfStringId aStateId, double aFrequency)=0
virtual std::pair< double, double > GetNoisePressureLimits(WsfStringId aStateId) const
Definition WsfAcousticSignature.cpp:22
virtual double GetNoisePressure(WsfStringId aStateId, double aFrequency, double aTgtToRcvrAz, double aTgtToRcvrEl)=0
static void RegisterInterface(WsfScenario &aScenario)
Register the platform interface object on the prototype signature list in the specified scenario.
Definition WsfAcousticSignature.cpp:185
static bool SetState(WsfPlatform *aPlatformPtr, WsfStringId aState)
Definition WsfAcousticSignature.cpp:101
static WsfStringId GetInputType(WsfPlatform *aPlatformPtr)
Definition WsfAcousticSignature.cpp:82
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
WsfSignature()
Definition WsfSignature.cpp:19
Copyrights Multiple, All Rights Reserved