(C++)
1.1.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< utility::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, 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... | |
Public Member Functions inherited from grail::utility::Evaluator< ContextType > | |
float | EvaluateContext (const ContextType &context, 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 EvaluatorType | GetEvaluatorType () const =0 |
Protected Member Functions | |
virtual void | DebugDump (const std::map< const void *, std::size_t > &nodeMapping, 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 |
Curve - Constructor.
childEvaluator | - Evaluator which output will be transformed by this curve. |
|
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::utility::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::utility::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::curves::ConstantFunction< ContextType >, grail::curves::UnitStepFunction< ContextType >, grail::curves::StaircaseFunction< ContextType >, grail::curves::SigmoidFunction< ContextType >, grail::curves::PowerFunction< ContextType >, grail::curves::LinearlyInterpolatedCurve< ContextType >, grail::curves::LinearFunction< ContextType >, grail::curves::ExponentialFunction< ContextType >, grail::curves::DoubleSidedBound< ContextType >, grail::curves::UpperBound< ContextType >, grail::curves::LowerBound< ContextType >, and grail::curves::BezierSpline< ContextType >.