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 EvaluationFlags, |
EvaluationVM/EvaluationVM.h | ||
FEvaluationVM
(
EEvaluationFlags InEvaluationFlags, |
EvaluationVM/EvaluationVM.h | ||
FEvaluationVM
(
const FEvaluationVM& |
Disallow copy. | EvaluationVM/EvaluationVM.h | |
FEvaluationVM
(
FEvaluationVM&& |
Allow move. | EvaluationVM/EvaluationVM.h | |
FEvaluationVM
(
EEvaluationFlags InEvaluationFlags, |
REMOVE ME: Exclusively for testing that before/after yields the same results. | 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 | |
| EvaluationContextStack | TArray< FEvaluationTaskContext > | The internal context that controls what state we are producing. | 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 FReferencePose * | Reference pose. | EvaluationVM/EvaluationVM.h | |
| ValueTransformerMap | FValueTransformerMapPtr | Shared map of value transformers. | EvaluationVM/EvaluationVM.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FEvaluationTaskContext & GetActiveEvaluationContext() |
Returns the evaluation context that controls what state we produce. | EvaluationVM/EvaluationVM.h | |
const FAttributeNamedSetPtr & GetActiveNamedSet() |
Returns the named set we are currently evaluating with. | EvaluationVM/EvaluationVM.h | |
int32 GetCurrentLOD() |
Returns the current LOD. | EvaluationVM/EvaluationVM.h | |
EEvaluationFlags GetFlags() |
Returns the evaluation flags. | EvaluationVM/EvaluationVM.h | |
const FValueTransformerMapPtr & GetTransformerMap() |
Returns the value transformer map. | 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 PopEvaluationContext() |
Pops the current active named set Returns whether or not we succeeded (we need to retain at least one named set) | 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 | |
bool PushEvaluationContext
(
FName SetName |
Pushes a new named set to evaluate with Returns true if we succeeded and the set exists in the currently active binding, false otherwise | EvaluationVM/EvaluationVM.h | |
bool PushEvaluationContext
(
TNonNullPtr< const UAbstractSkeletonSetBinding > SetBinding, |
Pushes a new binding and named set to evaluate with Returns true if we succeeded and the set exists in the specified binding, 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 |