WSF
WsfCommComponentHW_LASER.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 2018 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 WSFCOMMCOMPONENTHWLASER_HPP
13#define WSFCOMMCOMPONENTHWLASER_HPP
14
15#include "wsf_mil_export.h"
16
19class WsfCommResult;
21class WsfScenario;
22
23namespace wsf
24{
25namespace comm
26{
27
37class WSF_MIL_EXPORT ComponentHW_LASER : public ComponentHW
38{
39public:
40 static ComponentHW_LASER* Find(const Comm& aParent);
41 static ComponentHW_LASER* FindOrCreate(Comm& aParent);
42
43 explicit ComponentHW_LASER(const WsfScenario& aScenario);
44 ComponentHW_LASER(const ComponentHW_LASER& aSrc) = default;
45 ~ComponentHW_LASER() override = default;
46
48
49 WsfComponent* CloneComponent() const override;
50 WsfStringId GetComponentName() const override;
51 const int* GetComponentRoles() const override;
52 void* QueryInterface(int aRole) override;
54
56
57 bool ProcessInput(UtInput& aInput) override;
59
60 bool CanSendTo(double aSimTime, Comm* aRcvrPtr, Result& aResult) override;
61
62private:
63 AtmosphericTurbulence mTurbulence;
64 double mTurbulenceTransmissionFactor;
65 double mAttenuationTransmissionFactor;
66 double mAeroOpticTransmissionFactor;
67 double mBackgroundSpectralRadiance;
68 double mBackgroundSpectralIrradiance;
69 bool mShowLinkBudget;
70};
71
72} // namespace comm
73} // namespace wsf
74
76
77#endif
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_COMM_HW_LASER
Definition WsfMilComponentRoles.hpp:34
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfComponent.hpp:39
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfAtmosphericTurbulence.hpp:55
Definition WsfComm.hpp:43
Definition WsfCommComponentHW_LASER.hpp:38
static ComponentHW_LASER * Find(const Comm &aParent)
Find the instance of this component attached to the specified processor.
Definition WsfCommComponentHW_LASER.cpp:38
bool ProcessInput(UtInput &aInput) override
Definition WsfCommComponentHW_LASER.cpp:114
WsfComponent * CloneComponent() const override
Definition WsfCommComponentHW_LASER.cpp:76
ComponentHW_LASER(const ComponentHW_LASER &aSrc)=default
WsfStringId GetComponentName() const override
Definition WsfCommComponentHW_LASER.cpp:82
~ComponentHW_LASER() override=default
ComponentHW_LASER(const WsfScenario &aScenario)
Definition WsfCommComponentHW_LASER.cpp:60
static ComponentHW_LASER * FindOrCreate(Comm &aParent)
Definition WsfCommComponentHW_LASER.cpp:48
void * QueryInterface(int aRole) override
Definition WsfCommComponentHW_LASER.cpp:95
const int * GetComponentRoles() const override
Definition WsfCommComponentHW_LASER.cpp:88
bool CanSendTo(double aSimTime, Comm *aRcvrPtr, Result &aResult) override
Definition WsfCommComponentHW_LASER.cpp:179
ComponentHW()
Definition WsfCommComponentHW.cpp:56
Definition WsfCommResult.hpp:34
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved