Navigation
API > API/Plugins > API/Plugins/UAFAnimGraph
Evaluation VM
This struct holds the internal state when we execute and FEvaluationProgram. Our virtual machine is stack based, values are generally pushed and popped.
| Name | FEvaluationVM |
| Type | struct |
| Header File | /Engine/Plugins/Experimental/UAF/UAFAnimGraph/Source/UAFAnimGraph/Public/EvaluationVM/EvaluationVM.h |
| Include Path | #include "EvaluationVM/EvaluationVM.h" |
Syntax
struct FEvaluationVM
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FEvaluationVM
(
EEvaluationFlags InEvaluationFlags, |
EvaluationVM/EvaluationVM.h | ||
FEvaluationVM
(
const FEvaluationVM& |
Disallow copy. | EvaluationVM/EvaluationVM.h | |
FEvaluationVM
(
FEvaluationVM&& |
Allow move. | EvaluationVM/EvaluationVM.h | |
| EvaluationVM/EvaluationVM.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CurrentLOD | int32 | Current LOD we are evaluating at. | EvaluationVM/EvaluationVM.h | |
| CurveFilter | UE::Anim::FCurveFilter | Default curve filter. | EvaluationVM/EvaluationVM.h | |
| EvaluationFlags | EEvaluationFlags | Flags that control what we wish to evaluate. | EvaluationVM/EvaluationVM.h | |
| InternalStacks | TMap< FName, FEvaluationVMStack > | Various internal stacks that tasks can use (e.g. keyframe state) | EvaluationVM/EvaluationVM.h | |
| ReferencePose | const UE::UAF::FReferencePose * | Reference pose. | EvaluationVM/EvaluationVM.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 GetCurrentLOD() |
EvaluationVM/EvaluationVM.h | ||
EEvaluationFlags GetFlags() |
Returns the evaluation flags. | EvaluationVM/EvaluationVM.h | |
bool IsValid() |
Returns true if we are fully initialized. | EvaluationVM/EvaluationVM.h | |
FKeyframeState MakeReferenceKeyframe
(
bool bAdditiveKeyframe |
Returns a reference keyframe (bind pose or additive identity) | EvaluationVM/EvaluationVM.h | |
FKeyframeState MakeUninitializedKeyframe
(
bool bAdditiveKeyframe |
Returns an uninitialized keyframe with memory pre-allocated. | EvaluationVM/EvaluationVM.h | |
const ValueType * PeekValue
(
const FEvaluationVMStackName& StackName, |
Returns an immutable pointer to a value at some offset from the top of the evaluation stack An offset of 0 means the top of the stack Returns valid pointer if an entry exists, nullptr otherwise | EvaluationVM/EvaluationVM.h | |
ValueType * PeekValueMutable
(
const FEvaluationVMStackName& StackName, |
Returns a mutable pointer to a value at some offset from the top of the evaluation stack An offset of 0 means the top of the stack Returns valid pointer if an entry exists, nullptr otherwise | EvaluationVM/EvaluationVM.h | |
bool PopValue
(
const FEvaluationVMStackName& StackName, |
Pops the top value from the evaluation stack Returns true if the stack was not empty and a value is returned, false otherwise | EvaluationVM/EvaluationVM.h | |
void PushValue
(
const FEvaluationVMStackName& StackName, |
Pushes and moves the specified value on its evaluation stack. | EvaluationVM/EvaluationVM.h | |
void Shrink() |
Trims internal containers to only use as much memory as required to avoid slack. | EvaluationVM/EvaluationVM.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FEvaluationVM & operator=
(
const FEvaluationVM& |
EvaluationVM/EvaluationVM.h | ||
FEvaluationVM & operator=
(
FEvaluationVM&& |
EvaluationVM/EvaluationVM.h |