// Copyright Team Lumi. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "UniStrokeResult.h" #include "UniStrokeTemplate.h" #include "UniStrokeRecognizer.generated.h" static constexpr int NumTemplates = 16; static constexpr float AngleRange = FMath::DegreesToRadians(45.0); static constexpr float AnglePrecision = FMath::DegreesToRadians(2.0); USTRUCT() struct WIZARDINGCENTRAL_API FUniStrokeRecognizer { GENERATED_BODY() FUniStrokeRecognizer(); ~FUniStrokeRecognizer(); FUniStrokeResult Recognize(const TArray& VectorPoints); void AddTemplate(const FString& Name, const TArray& VectorPoints); void Reset(); TArray Templates; };