12#ifndef WSFORBITALTARGETINGCOST_HPP
13#define WSFORBITALTARGETINGCOST_HPP
15#include "wsf_space_export.h"
20#include "UtScriptAccessible.hpp"
35 virtual double operator()(
double aDt,
double aDv)
const = 0;
57 BlendedCost(
double aA_Value,
double aB_Value,
double aC_Value)
66 bool ProcessInput(UtInput& aInput)
override;
68 double operator()(
double aDt,
double aDv)
const override;
72 bool IsLeastTime()
const override;
74 bool IsValid()
const override;
76 std::string GetConfigurationRequirements()
const override;
82 void SetA_Value(
double aA_Value) { mA_Value = aA_Value; }
83 void SetB_Value(
double aB_Value) { mB_Value = aB_Value; }
84 void SetC_Value(
double aC_Value) { mC_Value = aC_Value; }
BlendedCost(double aA_Value, double aB_Value, double aC_Value)
Definition WsfOrbitalTargetingCost.hpp:57
const char * GetScriptClassName() const override
Definition WsfOrbitalTargetingCost.hpp:70
BlendedCost(const BlendedCost &aOther)=default
void SetA_Value(double aA_Value)
Definition WsfOrbitalTargetingCost.hpp:82
double GetB_Value() const
Definition WsfOrbitalTargetingCost.hpp:79
void SetB_Value(double aB_Value)
Definition WsfOrbitalTargetingCost.hpp:83
BlendedCost * Clone() const override
Definition WsfOrbitalTargetingCost.hpp:64
double GetA_Value() const
Definition WsfOrbitalTargetingCost.hpp:78
void SetC_Value(double aC_Value)
Definition WsfOrbitalTargetingCost.hpp:84
double GetC_Value() const
Definition WsfOrbitalTargetingCost.hpp:80
A cost function to minimize when computing a solution for an orbital targeting operation.
Definition WsfOrbitalTargetingCost.hpp:29
virtual std::string GetConfigurationRequirements() const =0
Return a text description of the requirements on the cost function to be considered valid.
virtual bool IsLeastTime() const =0
Return if this cost is equivalent to a least time optimization.
virtual bool IsValid() const =0
Return if the cost function has a valid configuration.
virtual OrbitalTargetingCost * Clone() const =0
virtual bool ProcessInput(UtInput &aInput)
Definition WsfOrbitalTargetingCost.hpp:32
virtual double operator()(double aDt, double aDv) const =0
The cost function is a mapping from a delta-t, delta-v value pair into the real numbers.
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32