WSF
WsfMoonLOS_SensorComponent.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 2020 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 WSF_MOON_LOS_COMPONENT_HPP
13#define WSF_MOON_LOS_COMPONENT_HPP
14
15#include "wsf_export.h"
16
17#include "WsfComponentRoles.hpp"
18#include "WsfSensor.hpp"
20
24{
25public:
26 static void RegisterComponentFactory(WsfScenario& aScenario);
27 static WsfMoonLOS_SensorComponent* Find(const WsfSensor& aParent);
29
31
32 bool Initialize(double aSimTime) override;
33 bool ProcessModeInput(UtInput& aInput, WsfSensorMode& aSensorMode) override;
34
35 void PostAttemptToDetect(double aSimTime, WsfPlatform* aTargetPtr, WsfSensorResult& aResult) override;
37
39
40 WsfComponent* CloneComponent() const override;
41 WsfStringId GetComponentName() const override;
42 const int* GetComponentRoles() const override;
43 void* QueryInterface(int aRole) override;
45
46
47private:
48 std::vector<bool> mModes;
49 bool mTemplate = false;
50};
51
53
54#endif
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_SENSOR_MOON_LOS
A Component enabling Moon LOS checks.
Definition WsfComponentRoles.hpp:149
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfComponent.hpp:39
virtual const int * GetComponentRoles() const =0
virtual WsfStringId GetComponentName() const =0
virtual WsfComponent * CloneComponent() const =0
virtual void * QueryInterface(int aRole)=0
Definition WsfMoonLOS_SensorComponent.hpp:24
static WsfMoonLOS_SensorComponent * FindOrCreate(WsfSensor &aParent)
Definition WsfMoonLOS_SensorComponent.cpp:56
static WsfMoonLOS_SensorComponent * Find(const WsfSensor &aParent)
Definition WsfMoonLOS_SensorComponent.cpp:47
static void RegisterComponentFactory(WsfScenario &aScenario)
Called by WsfScenario::CreateTypeLists on initialization.
Definition WsfMoonLOS_SensorComponent.cpp:40
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
Definition WsfSensorComponent.hpp:36
virtual void PostAttemptToDetect(double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
Definition WsfSensorComponent.hpp:85
virtual bool Initialize(double aSimTime)
Definition WsfComponent.cpp:45
virtual bool ProcessModeInput(UtInput &aInput, WsfSensorMode &aSensorMode)
Definition WsfSensorComponent.hpp:61
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:92
Copyrights Multiple, All Rights Reserved