12#ifndef WSFQUANTUMEVALUATOR_HPP
13#define WSFQUANTUMEVALUATOR_HPP
18#include "UtCloneablePtr.hpp"
21class UtScriptExecutor;
22#include "wsf_mil_export.h"
55 bool Register(std::unique_ptr<WsfQuantumEvaluator> aEvaluatorPtr);
57 const std::map<std::string, ut::CloneablePtr<WsfQuantumEvaluator>>&
Evaluators()
const {
return mFactoryMap; }
63 std::map<std::string, ut::CloneablePtr<WsfQuantumEvaluator>> mFactoryMap;
76 virtual bool Valid() {
return (mScriptPtr !=
nullptr); }
78 double Evaluate(
double aSimTime,
87 UtScriptContext* mContextPtr;
88 UtScriptExecutor* mExecutorPtr;
128 double Evaluate(
double aSimTime,
148 double Evaluate(
double aSimTime,
Definition WsfAssetPerception.hpp:32
Definition WsfLocalTrack.hpp:32
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual WsfObject * Clone() const =0
WsfQuantumEvaluator * Clone() const override
Definition WsfQuantumEvaluator.hpp:123
WsfQuantumEvaluatorDistance()
Definition WsfQuantumEvaluator.hpp:118
std::string EvaluatorType() override
Definition WsfQuantumEvaluator.hpp:127
void Initialize(double aSimTime, WsfScriptContext *aParentContextPtr=nullptr) override
Definition WsfQuantumEvaluator.hpp:122
Definition WsfQuantumEvaluator.hpp:47
~WsfQuantumEvaluatorFactory()=default
static WsfQuantumEvaluatorFactory * Instance()
Definition WsfQuantumEvaluator.cpp:36
WsfQuantumEvaluatorFactory & operator=(WsfQuantumEvaluatorFactory &&)=delete
WsfQuantumEvaluator * CreateEvaluator(const std::string &evaluatorName)
Definition WsfQuantumEvaluator.cpp:51
const std::map< std::string, ut::CloneablePtr< WsfQuantumEvaluator > > & Evaluators() const
Definition WsfQuantumEvaluator.hpp:57
WsfQuantumEvaluatorFactory(WsfQuantumEvaluatorFactory &&aSrc)=delete
bool Register(std::unique_ptr< WsfQuantumEvaluator > aEvaluatorPtr)
Definition WsfQuantumEvaluator.cpp:42
WsfQuantumEvaluatorFactory & operator=(const WsfQuantumEvaluatorFactory &)=delete
WsfQuantumEvaluatorInterceptTime()
Definition WsfQuantumEvaluator.hpp:138
WsfQuantumEvaluator * Clone() const override
Definition WsfQuantumEvaluator.hpp:143
void Initialize(double aSimTime, WsfScriptContext *aParentContextPtr=nullptr) override
Definition WsfQuantumEvaluator.hpp:142
std::string EvaluatorType() override
Definition WsfQuantumEvaluator.hpp:147
Definition WsfQuantumEvaluator.hpp:68
std::string EvaluatorType() override
Definition WsfQuantumEvaluator.hpp:75
WsfQuantumEvaluatorScript(WsfScriptContext *aContextPtr, std::string &aScriptMethod)
Definition WsfQuantumEvaluator.cpp:61
void Initialize(double aSimTime, WsfScriptContext *aParentContextPtr=nullptr) override
Definition WsfQuantumEvaluator.cpp:89
WsfQuantumEvaluatorScript & operator=(const WsfQuantumEvaluatorScript &)=delete
~WsfQuantumEvaluatorScript() override=default
virtual bool Valid()
Definition WsfQuantumEvaluator.hpp:76
WsfQuantumEvaluator * Clone() const override
Definition WsfQuantumEvaluator.hpp:100
WsfQuantumEvaluatorSimple()
Definition WsfQuantumEvaluator.hpp:95
double Evaluate(double aSimTime, WsfTask *aTaskPtr, WsfAssetPerception *aAssetPtr, WsfLocalTrack *aTargetTrackPtr=nullptr) override
Definition WsfQuantumEvaluator.hpp:105
void Initialize(double aSimTime, WsfScriptContext *aParentContextPtr=nullptr) override
Definition WsfQuantumEvaluator.hpp:99
std::string EvaluatorType() override
Definition WsfQuantumEvaluator.hpp:104
Definition WsfQuantumEvaluator.hpp:31
virtual double Evaluate(double aSimTime, WsfTask *aTaskPtr, WsfAssetPerception *aAssetPtr, WsfLocalTrack *aTargetTrackPtr=nullptr)=0
WsfQuantumEvaluator()=default
virtual std::string EvaluatorType()=0
WsfQuantumEvaluator * Clone() const override=0
virtual void Initialize(double aSimTime, WsfScriptContext *aParentContextPtr=nullptr)=0
Definition WsfScriptContext.hpp:71
A class that defines a task to be performed.
Definition WsfTask.hpp:28