diff --git a/Content/2DDiagram.uasset b/Content/2DDiagram.uasset index b18d91dbf8682636a8e7e8778f6834d00266e565..17036846d716a56f051ff5f6cf3cd8194e56fb36 100644 Binary files a/Content/2DDiagram.uasset and b/Content/2DDiagram.uasset differ diff --git a/Content/2DDiagramActor.uasset b/Content/2DDiagramActor.uasset index 4e74a4ad8f2b72ff88c8e335a90970bd48a998bc..b57d298fb9ee02453e015f7e167cadc33ab778eb 100644 Binary files a/Content/2DDiagramActor.uasset and b/Content/2DDiagramActor.uasset differ diff --git a/Content/BP_PawnBase.uasset b/Content/BP_PawnBase.uasset index 01e200dcd1b98a87a1f48c5afb2bea98a7679e95..86505dd376d8582f34b57fd540c4a926b85ec8d7 100644 Binary files a/Content/BP_PawnBase.uasset and b/Content/BP_PawnBase.uasset differ diff --git a/Content/M_Plot2D_Background.uasset b/Content/M_Plot2D_Background.uasset new file mode 100644 index 0000000000000000000000000000000000000000..db13a2512e96ffed07ceaaa607f01fdcb569340d Binary files /dev/null and b/Content/M_Plot2D_Background.uasset differ diff --git a/Content/M_Plot2D_Canvas.uasset b/Content/M_Plot2D_Canvas.uasset index d48eb7fba3c4c80825870c172297c0f85c619cba..b83176e638c620294f86147c99dee73cc22dee29 100644 Binary files a/Content/M_Plot2D_Canvas.uasset and b/Content/M_Plot2D_Canvas.uasset differ diff --git a/Content/Test.umap b/Content/Test.umap index 5e7322259c6434b3aeabb5cb1488d42a2970b26a..9e10c2132c6e5b8676fef46f4c93105e3103d6ef 100644 Binary files a/Content/Test.umap and b/Content/Test.umap differ diff --git a/Saved/Config/Windows/Engine.ini b/Saved/Config/Windows/Engine.ini index 7b3ed1ba31645cdaf988cf125e7eaf388cf1f0a5..abbdd364bd36a0c9a3a6913af6c125e02179ce57 100644 --- a/Saved/Config/Windows/Engine.ini +++ b/Saved/Config/Windows/Engine.ini @@ -50,4 +50,12 @@ bHQBuffer=False bHQDistortion=False bUpdateOnRT=True +[WindowsApplication.Accessibility] +StickyKeysHotkey=True +ToggleKeysHotkey=True +FilterKeysHotkey=True +StickyKeysConfirmation=True +ToggleKeysConfirmation=True +FilterKeysConfirmation=True + diff --git a/Source/ImmersiveAnalytics/Plot3D.cpp b/Source/ImmersiveAnalytics/Plot3D.cpp index 67ed09c5c0253f313ebf7aef15adab663ad54719..cc46041c6712d07facd51412c6456da32ef3548d 100644 --- a/Source/ImmersiveAnalytics/Plot3D.cpp +++ b/Source/ImmersiveAnalytics/Plot3D.cpp @@ -50,13 +50,24 @@ void APlot3D::InitPoints() } int32 MaxIndex, MinIndex; - float Max, Min; - UKismetMathLibrary::MaxOfFloatArray(Length, MaxIndex, Max); - UKismetMathLibrary::MinOfFloatArray(Length, MinIndex, Min); + UKismetMathLibrary::MaxOfFloatArray(Length, MaxIndex, MaxLength); + UKismetMathLibrary::MinOfFloatArray(Length, MinIndex, MinLength); + UKismetMathLibrary::MaxOfFloatArray(X, MaxIndex, MaxX); + UKismetMathLibrary::MinOfFloatArray(X, MinIndex, MinX); + UKismetMathLibrary::MaxOfFloatArray(Y, MaxIndex, MaxY); + UKismetMathLibrary::MinOfFloatArray(Y, MinIndex, MinY); + UKismetMathLibrary::MaxOfFloatArray(Z, MaxIndex, MaxZ); + UKismetMathLibrary::MinOfFloatArray(Z, MinIndex, MinZ); + UKismetMathLibrary::MaxOfFloatArray(U, MaxIndex, MaxU); + UKismetMathLibrary::MinOfFloatArray(U, MinIndex, MinU); + UKismetMathLibrary::MaxOfFloatArray(V, MaxIndex, MaxV); + UKismetMathLibrary::MinOfFloatArray(V, MinIndex, MinV); + UKismetMathLibrary::MaxOfFloatArray(W, MaxIndex, MaxW); + UKismetMathLibrary::MinOfFloatArray(W, MinIndex, MinW); for (int32 i = 0; i < Num; i++) { - FColor Color = CalculateColorOfPoint(i, Min, Max); + FColor Color = CalculateColorOfPoint(i, MaxLength, MinLength); Points.Emplace(FVector(X[i], Y[i], Z[i]), Color, true); } diff --git a/Source/ImmersiveAnalytics/Plot3D.h b/Source/ImmersiveAnalytics/Plot3D.h index b0b0ae013ecd46061e92725859086cb4e373af85..a3d58999055c9d11389d0eadc73d7d74ed970655 100644 --- a/Source/ImmersiveAnalytics/Plot3D.h +++ b/Source/ImmersiveAnalytics/Plot3D.h @@ -57,6 +57,48 @@ public: UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) TArray Length; + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinLength; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxLength; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinX; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxX; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinY; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxY; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinZ; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxZ; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinU; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxU; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinV; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxV; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MinW; + + UPROPERTY(Category = Plot3D, VisibleAnywhere, BlueprintReadOnly) + float MaxW; + UPROPERTY(EditDefaultsOnly, Category = Plot3D) UCurveVector* TransferFunction; diff --git a/Source/ImmersiveAnalytics/PlotCanvas.cpp b/Source/ImmersiveAnalytics/PlotCanvas.cpp index a1ff0961bdf716f38d3d05536922f91a11b34a06..4f315e2c7ac10856bef9092fdeebbd70e1bbcd8b 100644 --- a/Source/ImmersiveAnalytics/PlotCanvas.cpp +++ b/Source/ImmersiveAnalytics/PlotCanvas.cpp @@ -66,7 +66,7 @@ void UPlotCanvas::DrawFromData() for (int i = 0; i < PawnBase->Plot3D->Points.Num(); ++i) { InitializeDrawingTools(1, PawnBase->Plot3D->Points[i].Color.R, PawnBase->Plot3D->Points[i].Color.G, PawnBase->Plot3D->Points[i].Color.B); - DrawDot(PawnBase->Plot3D->Points[i].Location.X * 10000 + canvasWidth / 2, PawnBase->Plot3D->U[i] * 5 + canvasHeight / 2); + DrawDot((PawnBase->Plot3D->Points[i].Location.X - PawnBase->Plot3D->MinX) / (PawnBase->Plot3D->MaxX - PawnBase->Plot3D->MinX) * canvasWidth, (PawnBase->Plot3D->U[i] - PawnBase->Plot3D->MinU) / (PawnBase->Plot3D->MaxU - PawnBase->Plot3D->MinU) * canvasHeight); } UpdateCanvas();