12#ifndef SOSM_TARGET_HPP
13#define SOSM_TARGET_HPP
15#include "sosm_export.h"
27#include "UtAtmosphere.hpp"
82 std::vector<float>& aBodyIntensity,
84 std::vector<float>& aPlumeIntensity,
85 float& aPlumeArea) = 0;
92 std::vector<float>& aAzValues,
93 std::vector<float>& aElValues) = 0;
SOSM_CoreBase()
Definition SOSM_CoreBase.cpp:17
virtual bool ProcessInput(UtInput &aInput)
Definition SOSM_CoreBase.cpp:62
virtual bool Initialize()
Definition SOSM_CoreBase.cpp:40
virtual void InputComplete()
Definition SOSM_CoreBase.cpp:58
Definition SOSM_Interaction.hpp:46
A singleton class that manages SOSM data.
Definition SOSM_Manager.hpp:32
SOSM_SpectralObject()
Definition SOSM_SpectralObject.hpp:49
Definition SOSM_Target.hpp:123
std::vector< StateBase * > mStates
Definition SOSM_Target.hpp:126
Definition SOSM_Target.hpp:37
StateBase(const std::string &aStateName)
Definition SOSM_Target.cpp:148
virtual bool ProcessInput(UtInput &aInput, SOSM_Target &aTarget)
Definition SOSM_Target.cpp:169
float mMaxAltitude
Definition SOSM_Target.hpp:48
std::string mStateName
Definition SOSM_Target.hpp:46
virtual void InputComplete(SOSM_Target &aTarget)
Definition SOSM_Target.cpp:166
bool mSpeedIsMach
Definition SOSM_Target.hpp:53
float mMaxThrottle
Definition SOSM_Target.hpp:52
float mMinAltitude
Definition SOSM_Target.hpp:47
float mMaxSpeed
Definition SOSM_Target.hpp:50
float mMinSpeed
Definition SOSM_Target.hpp:49
float mMinThrottle
Definition SOSM_Target.hpp:51
virtual StateBase * CreateState(const std::string &aStateName) const =0
SOSM_Manager * GetManager() const
Definition SOSM_Target.hpp:113
SOSM_Target(SOSM_Manager *aManagerPtr)
Constructor.
Definition SOSM_Target.cpp:25
UtAtmosphere mAtmosphere
An atmosphere for converting speed to Mach number.
Definition SOSM_Target.hpp:135
std::recursive_mutex mMutex
A mutex for locking access to the atmosphere object (UtAtmosphere is not thread-safe).
Definition SOSM_Target.hpp:138
SOSM_Manager * mManagerPtr
Definition SOSM_Target.hpp:129
virtual SOSM_Target * Clone() const =0
A virtual copy constructor.
virtual void GetSamplePoints(SOSM_Interaction &aInteraction, std::vector< float > &aAzValues, std::vector< float > &aElValues)=0
SOSM_Target & operator=(const SOSM_Target &)=delete
virtual void GetSampleTargetState(SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle)=0
virtual void ComputeRadiantIntensity(const SOSM_SpectralObject &aRequestor, SOSM_Interaction &aInteraction, std::vector< float > &aBodyIntensity, float &aBodyArea, std::vector< float > &aPlumeIntensity, float &aPlumeArea)=0
std::shared_ptr< SharedData > mSharedDataPtr
A pointer to the shared state data.
Definition SOSM_Target.hpp:132
const StateBase * StateEntry(size_t aIndex) const
Definition SOSM_Target.hpp:107
size_t StateCount() const
Return the number of defined states.
Definition SOSM_Target.hpp:103