12#ifndef SOSM_TABLETARGET_HPP
13#define SOSM_TABLETARGET_HPP
42 std::vector<float>& aBodyIntensity,
44 std::vector<float>& aPlumeIntensity,
45 float& aPlumeArea)
override;
65 void CheckConsistency(
const std::string& aMessagePrefix,
const std::string& aComponentType)
const;
80 Band(
const std::string& aBandName);
95 TT_State(
const std::string& aStateName);
Definition SOSM_Interaction.hpp:46
A singleton class that manages SOSM data.
Definition SOSM_Manager.hpp:32
std::shared_ptr< SOSM_ScalarTable2D > TablePtr
Definition SOSM_ScalarTable2D.hpp:27
Definition SOSM_Selector.hpp:24
SOSM_SpectralObject()
Definition SOSM_SpectralObject.hpp:49
Component mPlume
Definition SOSM_TableTarget.hpp:88
virtual bool ProcessInput(UtInput &aInput, SOSM_Target &aTarget)
Definition SOSM_TableTarget.cpp:417
Component mBody
Definition SOSM_TableTarget.hpp:87
Band(const std::string &aBandName)
Definition SOSM_TableTarget.cpp:366
std::string mBandName
Definition SOSM_TableTarget.hpp:86
A 'Component' represents something like a cold_part, hot part or plume.
Definition SOSM_TableTarget.hpp:63
AreaTablePtr mAreaTablePtr
Definition SOSM_TableTarget.hpp:71
void CheckConsistency(const std::string &aMessagePrefix, const std::string &aComponentType) const
Definition SOSM_TableTarget.cpp:475
void LoadAreaTable(SOSM_Manager *aManagerPtr, const std::string &aFileName, const std::string &aCachePrefix)
Definition SOSM_TableTarget.cpp:520
IntensityTablePtr mIntensityTablePtr
Definition SOSM_TableTarget.hpp:72
void LoadIntensityTable(SOSM_Manager *aManagerPtr, const std::string &aFileName, const std::string &aCachePrefix)
Definition SOSM_TableTarget.cpp:529
std::list< Band > mBandList
Definition SOSM_TableTarget.hpp:100
TT_State(const std::string &aStateName)
Definition SOSM_TableTarget.cpp:255
bool ProcessInput(UtInput &aInput, SOSM_Target &aTarget) override
Definition SOSM_TableTarget.cpp:302
bool mImplicitBandUsed
Definition SOSM_TableTarget.hpp:102
bool mExplicitBandUsed
Definition SOSM_TableTarget.hpp:101
void ComputeRadiantIntensity(const SOSM_SpectralObject &aRequestor, SOSM_Interaction &aInteraction, std::vector< float > &aBodyIntensity, float &aBodyArea, std::vector< float > &aPlumeIntensity, float &aPlumeArea) override
Definition SOSM_TableTarget.cpp:63
void GetSamplePoints(SOSM_Interaction &aInteraction, std::vector< float > &aAzValues, std::vector< float > &aElValues) override
Definition SOSM_TableTarget.cpp:173
std::map< std::string, IntensityTablePtr > IntensityTableMap
Definition SOSM_TableTarget.hpp:112
SOSM_TableTarget & operator=(const SOSM_TableTarget &)=delete
static IntensityTablePtr LoadIntensityTable(const std::string &aFileName, const std::string &aCachePrefix)
StateBase * CreateState(const std::string &aStateName) const override
Definition SOSM_TableTarget.cpp:245
SOSM_ScalarTable2D::TablePtr AreaTablePtr
Definition SOSM_TableTarget.hpp:52
void InputComplete() override
Definition SOSM_TableTarget.cpp:52
std::shared_ptr< SOSM_SpectralTable2D > IntensityTablePtr
Definition SOSM_TableTarget.hpp:53
static IntensityTableMap sIntensityTables
The persistent collection of radiant intensity tables that have been read, indexed by filename.
Definition SOSM_TableTarget.hpp:115
SOSM_TableTarget(SOSM_Manager *aManagerPtr)
Definition SOSM_TableTarget.cpp:32
static AreaTablePtr LoadAreaTable(const std::string &aFileName, const std::string &aCachePrefix)
SOSM_Target * Clone() const override
A virtual copy constructor.
Definition SOSM_TableTarget.cpp:45
void GetSampleTargetState(SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle) override
Definition SOSM_TableTarget.cpp:233
Definition SOSM_Target.hpp:37
StateBase(const std::string &aStateName)
Definition SOSM_Target.cpp:148
SOSM_Target(SOSM_Manager *aManagerPtr)
Constructor.
Definition SOSM_Target.cpp:25