![]() |
Grail (C++)
1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
The Curve class - Defines objects transforming one value into the other. More...
#include <Curve.hh>
Public Member Functions | |
Curve (std::shared_ptr< Evaluator< ContextType >> childEvaluator) | |
Curve - Constructor. More... | |
Curve (const Curve< ContextType > &other)=default | |
Curve (Curve< ContextType > &&other)=default | |
virtual float | Sample (float argument) const =0 |
Sample - Transforms argument into output value depending on the type of Curve. More... | |
virtual float | Evaluate (const ContextType &context, data::UtilityEvaluatorSnapshot *const snapshot) const override final |
Evaluate - Called from EvaluateContext which also evaluates context, but without automatically filling snapshot with debug data. Should be overriden for each derived Evaluator. More... | |
![]() | |
float | EvaluateContext (const ContextType &context, data::UtilityEvaluatorSnapshot *const snapshot) const |
EvaluateContext - evaluates provided context and if provided snapshot is not empty, fills it with debug data describing this node. More... | |
virtual data::EvaluatorType | GetEvaluatorType () const =0 |
Protected Member Functions | |
virtual void | DebugDump (const std::map< const void *, unsigned int > &nodeMapping, data::EvaluationDebugData &debugData) const override final |
DebugDump - Called from EvaluateContext, which generates additional debug data for each evaluator. Should be overriden in each derived evaluator to better reflect debug tree topology. More... | |
The Curve class - Defines objects transforming one value into the other.
ContextType | - Type of evaluated object. By default - ValueTuple(AIEntity, Blackboard). |
|
inlineexplicit |
|
inlinefinaloverrideprotectedvirtual |
DebugDump - Called from EvaluateContext, which generates additional debug data for each evaluator. Should be overriden in each derived evaluator to better reflect debug tree topology.
nodeMapping | - Maps node pointers to node index. |
debugData | - Evaluation debug data which will be filled in this method |
Implements grail::evaluator::Evaluator< ContextType >.
|
inlinefinaloverridevirtual |
Evaluate - Called from EvaluateContext which also evaluates context, but without automatically filling snapshot with debug data. Should be overriden for each derived Evaluator.
context | - Input data for evaluation |
snapshot | - Evaluator snapshot containing debug data describing whole evaluator tree. |
Implements grail::evaluator::Evaluator< ContextType >.
|
pure virtual |
Sample - Transforms argument into output value depending on the type of Curve.
argument | - Value of a curve argument belonging to its domain. |
Implemented in grail::evaluator::ConstantFunction< ContextType >, grail::evaluator::DoubleSidedBound< ContextType >, grail::evaluator::UpperBound< ContextType >, grail::evaluator::LowerBound< ContextType >, grail::evaluator::LinearFunction< ContextType >, grail::evaluator::PowerFunction< ContextType >, grail::evaluator::StaircaseFunction< ContextType >, grail::evaluator::BezierSpline< ContextType >, grail::evaluator::LinearlyInterpolatedCurve< ContextType >, grail::evaluator::SigmoidFunction< ContextType >, grail::evaluator::UnitStepFunction< ContextType >, and grail::evaluator::ExponentialFunction< ContextType >.