Open 3D Engine MotionMatching Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
EMotionFX::MotionMatching::FeatureMatrixTransformer Class Referenceabstract

Transformers can be used to e.g. normalize or scale features in the feature matrix or the query vector. More...

#include <FeatureMatrixTransformer.h>

Inherited by EMotionFX::MotionMatching::MinMaxScaler, and EMotionFX::MotionMatching::StandardScaler.

Classes

struct  Settings
 

Public Member Functions

 AZ_RTTI (FeatureMatrixTransformer, "{B19CDBB8-FA99-4CBD-86C1-640A3CC5988A}")
 
 AZ_CLASS_ALLOCATOR (FeatureMatrixTransformer, MotionMatchAllocator)
 
virtual bool Fit (const FeatureMatrix &featureMatrix, const Settings &settings)=0
 
virtual float Transform (float value, FeatureMatrix::Index column) const =0
 
virtual AZ::Vector2 Transform (const AZ::Vector2 &value, FeatureMatrix::Index column) const =0
 
virtual AZ::Vector3 Transform (const AZ::Vector3 &value, FeatureMatrix::Index column) const =0
 
virtual void Transform (AZStd::span< float > data) const =0
 
virtual FeatureMatrix Transform (const FeatureMatrix &in) const =0
 
virtual float InverseTransform (float value, FeatureMatrix::Index column) const =0
 Input: Already transformed data, Output: Inverse transformed data (should match data before transform)
 
virtual AZ::Vector2 InverseTransform (const AZ::Vector2 &value, FeatureMatrix::Index column) const =0
 
virtual AZ::Vector3 InverseTransform (const AZ::Vector3 &value, FeatureMatrix::Index column) const =0
 
virtual FeatureMatrix InverseTransform (const FeatureMatrix &in) const =0
 

Detailed Description

Transformers can be used to e.g. normalize or scale features in the feature matrix or the query vector.

Member Function Documentation

◆ Fit()

virtual bool EMotionFX::MotionMatching::FeatureMatrixTransformer::Fit ( const FeatureMatrix featureMatrix,
const Settings settings 
)
pure virtual

Prepare the transformer. This might e.g. run some statistical analysis and cache values that will be needed for actually transforming the data.

Implemented in EMotionFX::MotionMatching::MinMaxScaler, and EMotionFX::MotionMatching::StandardScaler.

◆ InverseTransform()

virtual float EMotionFX::MotionMatching::FeatureMatrixTransformer::InverseTransform ( float  value,
FeatureMatrix::Index  column 
) const
pure virtual

Input: Already transformed data, Output: Inverse transformed data (should match data before transform)

Implemented in EMotionFX::MotionMatching::MinMaxScaler, and EMotionFX::MotionMatching::StandardScaler.

◆ Transform()

virtual float EMotionFX::MotionMatching::FeatureMatrixTransformer::Transform ( float  value,
FeatureMatrix::Index  column 
) const
pure virtual

Copy and transform the input data. Note: Use the version that can batch transform the most data. Expect significant performance losses when calling the granular versions on lots of data points.

Implemented in EMotionFX::MotionMatching::MinMaxScaler, and EMotionFX::MotionMatching::StandardScaler.


The documentation for this class was generated from the following file: