5#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "VirtualShape.generated.h"
39 return FLinearColor(FColor::Blue);
44 return FLinearColor(FColor::Cyan);
49 return FLinearColor::Green;
54 return FLinearColor::Red;
57 return FLinearColor::White;
60 void SetIsHover(
const bool bIsHover) { bIsHovered = bIsHover; }
74 explicit FDrawData(
const FVector2D InLocation,
const bool bIsFirstPoint =
false,
const bool bSelect =
false)
80 , bIsSelected(bSelect)
149 , bHasDirection(false)
161 , bHasDirection(false)
166 FShapeLine(
const FVector2D InStartPosition,
const FVector2D InEndPosition,
const FVector2D InDirection,
const float InLength,
const FVector2D InBoundCenter)
172 , bHasDirection(false)
181 uint8 bHasDirection:1;
214 FShapeAngle(
const FVector2D InPosition,
const float InAngle,
const bool InIsRightCornerAngle,
const FVector2D InBoundCenter)
241 float Evaluate(
const TArray<FDrawData> InDrawData);
247 UFUNCTION(Category=
"Virtual Shape", BlueprintCallable, BlueprintPure)
250 UFUNCTION(Category=
"Virtual Shape", BlueprintCallable, BlueprintPure)
253 UFUNCTION(Category=
"Virtual Shape", BlueprintCallable, BlueprintPure)
257 TMap<FName, float>
GetResults()
const {
return LastMatchingResults; }
259 UFUNCTION(Category=
"Virtual Shape", BlueprintCallable, BlueprintPure)
263 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
265 FOnVirtualShapeChangedEvent OnVirtualShapeChangedEvent;
318 TMap<FName,
float> LastMatchingResults;
320 float LastMatchingResult;
BlueprintType
Definition ComponentDecorator_Animation.h:40
DECLARE_DELEGATE_OneParam(FOnVirtualInputSelected, FName)
Definition VirtualShapeCleaner.h:18
Definition VirtualShapeEvaluator.h:19
BlueprintPure TArray< FDrawData > GetShapeDots() const
Definition VirtualShape.h:251
FVector2D SumOfLineDirections
Definition VirtualShape.h:306
UVirtualShape()
Definition VirtualShape.cpp:9
EditAnywhere
Definition VirtualShape.h:271
BlueprintPure float GetMatchingResult() const
Definition VirtualShape.h:260
Instanced TArray< TObjectPtr< UVirtualShapeCleaner > > CleanerFilters
Definition VirtualShape.h:282
BlueprintPure TArray< FDrawData > & GetShapeDotsByRef()
Definition VirtualShape.h:254
FVector2D BoundCenter
Definition VirtualShape.h:315
float TotalAngleValue
Definition VirtualShape.h:303
TArray< FShapeAngle > ShapeAngles
Definition VirtualShape.h:297
BlueprintReadOnly FText FriendlyName
Definition VirtualShape.h:277
TMap< FName, float > GetResults() const
Definition VirtualShape.h:257
BlueprintReadOnly FName Name
Definition VirtualShape.h:272
BlueprintPure TArray< FShapeLine > GetShapeLines() const
Definition VirtualShape.h:245
BlueprintReadOnly
Definition VirtualShape.h:281
Category
Definition VirtualShape.h:244
float Evaluate(const TArray< FDrawData > InDrawData)
Definition VirtualShape.cpp:18
BlueprintPure TArray< FShapeAngle > GetShapeAngles() const
Definition VirtualShape.h:248
FVector2D TopLeftBound
Definition VirtualShape.h:309
BlueprintCallable
Definition VirtualShape.h:244
float TotalLength
Definition VirtualShape.h:300
FVector2D BottomRightBound
Definition VirtualShape.h:312
TArray< FShapeLine > ShapeLines
Definition VirtualShape.h:294
Instanced TArray< TObjectPtr< UVirtualShapeEvaluator > > DetectFilters
Definition VirtualShape.h:287
TArray< FDrawData > ShapeDots
Definition VirtualShape.h:291
Definition VirtualShape.h:14
void SetIsSelected(const bool bSelect)
Definition VirtualShape.h:61
BlueprintReadWrite uint8 bIsEndPoint
Definition VirtualShape.h:31
bool IsPrimaryPoint() const
Definition VirtualShape.h:33
BlueprintReadWrite uint8 bIsStartPoint
Definition VirtualShape.h:28
Category
Definition VirtualShape.h:20
FDrawData()
Definition VirtualShape.h:63
BlueprintReadWrite FVector2D LocationFromBoundCenter
Definition VirtualShape.h:25
friend class SVirtualShapeEditorDesigner
Definition VirtualShape.h:96
EditAnywhere
Definition VirtualShape.h:20
void SetIsHover(const bool bIsHover)
Definition VirtualShape.h:60
FLinearColor GetColor() const
Definition VirtualShape.h:35
FDrawData(const FVector2D InLocation, const bool bIsFirstPoint=false, const bool bSelect=false)
Definition VirtualShape.h:74
BlueprintReadWrite FVector2D Location
Definition VirtualShape.h:21
Definition VirtualShape.h:186
FShapeAngle(const FVector2D InPosition, const float InAngle, const bool InIsRightCornerAngle, const FVector2D InBoundCenter)
Definition VirtualShape.h:214
BlueprintReadWrite float Angle
Definition VirtualShape.h:200
BlueprintReadWrite FVector2D Location
Definition VirtualShape.h:193
BlueprintReadWrite uint8 bIsRightCornerAngle
Definition VirtualShape.h:203
Category
Definition VirtualShape.h:192
FShapeAngle()
Definition VirtualShape.h:205
BlueprintReadWrite FVector2D LocationFromBoundCenter
Definition VirtualShape.h:197
EditAnywhere
Definition VirtualShape.h:192
Definition VirtualShape.h:104
EditAnywhere
Definition VirtualShape.h:110
BlueprintReadWrite float Length
Definition VirtualShape.h:134
FShapeLine(FVector2D InStartPosition)
Definition VirtualShape.h:154
BlueprintReadWrite uint8 bHasEndPoint
Definition VirtualShape.h:131
float GetLength() const
Definition VirtualShape.h:136
FShapeLine(const FVector2D InStartPosition, const FVector2D InEndPosition, const FVector2D InDirection, const float InLength, const FVector2D InBoundCenter)
Definition VirtualShape.h:166
BlueprintReadWrite FVector2D Direction
Definition VirtualShape.h:128
friend class SVirtualShapeEditorDesigner
Definition VirtualShape.h:179
FShapeLine()
Definition VirtualShape.h:141
BlueprintReadWrite FVector2D EndPosition
Definition VirtualShape.h:117
BlueprintReadWrite FVector2D EndPositionFromBoundCenter
Definition VirtualShape.h:125
BlueprintReadWrite FVector2D StartPositionFromBoundCenter
Definition VirtualShape.h:121
BlueprintReadWrite FVector2D StartPosition
Definition VirtualShape.h:111
Category
Definition VirtualShape.h:110