I3DHEditableDrawing.h Source File

instant3Dhub: I3DHEditableDrawing.h Source File
instant3Dhub
I3DHEditableDrawing.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "CoreMinimal.h"
9
10#include "I3DHVersion.h"
11#include "I3DHDrawing.h"
12#include "I3DHSplineData.h"
13
14#include "I3DHEditableDrawing.generated.h"
15
16class INSTANT3DHUB_EXPERIMENTAL(0.0.27, "The instant3Dhub Drawings feature is available as a preview and is actively under development.") AI3DHEditableDrawing;
17
19UCLASS(Experimental, MinimalAPI, meta = (DisplayName = "I3DH EditableDrawing (Experimental)"))
21{
22 GENERATED_BODY()
23
24public:
26
31 INSTANT3DHUBDRAWINGS_API const TArray<FI3DHSplineData>& GetSplines() const { return Splines; };
32 INSTANT3DHUBDRAWINGS_API void SetSplines(const TArray<FI3DHSplineData>& InSplines);
33
39 INSTANT3DHUBDRAWINGS_API void SetDrawingEditorClass(TSubclassOf<class AI3DHDrawingEditor> InDrawingEditorClass);
40
47 virtual UMaterialInterface* GetHoveredMaterial(const FLinearColor& DrawingColor) const override;
48
63 UFUNCTION(BlueprintCallable, Category = "{instant3DhubDrawings}")
64 INSTANT3DHUBDRAWINGS_API class AI3DHDrawingEditor* EditDrawing();
65
66protected:
67 virtual void BeginDestroy() override;
68
69private:
70 UFUNCTION()
71 void OnDrawingEditorDestroyed(AActor* DestroyedActor);
72
73 UPROPERTY(Category = "{instant3DhubDrawings}", VisibleAnywhere, Transient)
74 TArray<FI3DHSplineData> Splines;
75
76 UPROPERTY(Category = "{instant3DhubDrawings}", VisibleAnywhere, Transient)
77 TObjectPtr<class AI3DHDrawingEditor> DrawingEditor;
78
79 UPROPERTY(Category = "{instant3DhubDrawings}", EditAnywhere)
80 TSubclassOf<class AI3DHDrawingEditor> DrawingEditorClass;
81};
@ EditDrawing
In EditDrawing Mode, the splines are locked but the drawing can be edited as a whole.
DrawingEditor Actor for creating spline 3D drawings in the scene that are synced to the session when ...
Definition I3DHDrawingEditor.h:71
This actor is the scene representation of drawings in the session.
Definition I3DHDrawing.h:20
An Editable Drawing is a drawing with collision data and can work in conjunction with DrawingEditor t...
Definition I3DHEditableDrawing.h:21
virtual UMaterialInterface * GetHoveredMaterial(const FLinearColor &DrawingColor) const override
Virtual function that can be implemented by derived classes to specify a material for hovered drawing...
const TArray< FI3DHSplineData > & GetSplines() const
Gets the splines.
Definition I3DHEditableDrawing.h:31
#define INSTANT3DHUB_EXPERIMENTAL(Version, Message)
Macro for marking up experimental code, functions and types.
Definition I3DHVersion.h:212