Files
UnrealEngineUWP/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Public/BaseTools/BaseVoxelTool.h
michael balzer a49c74b915 MeshModelingToolset: Move ModelingOperators and ModelingOperatorsEditorOnly modules out of experimental plugin
#jira UETOOL-3823
#rb lonnie.li
#preflight 617b1aea5794a500014f544a

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17972239 in //UE5/Release-5.0/... via CL 17972248
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17972256 by michael balzer in ue5-release-engine-test branch]
2021-10-28 19:47:45 -04:00

42 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "BaseTools/BaseCreateFromSelectedTool.h"
#include "PropertySets/VoxelProperties.h"
#include "BaseVoxelTool.generated.h"
PREDECLARE_USE_GEOMETRY_CLASS(FDynamicMesh3);
/**
* Base for Voxel tools
*/
UCLASS()
class MODELINGCOMPONENTS_API UBaseVoxelTool : public UBaseCreateFromSelectedTool
{
GENERATED_BODY()
protected:
/** Sets up VoxProperties; typically need to overload and call "Super::SetupProperties();" */
virtual void SetupProperties() override;
/** Saves VoxProperties; typically need to overload and call "Super::SaveProperties();" */
virtual void SaveProperties() override;
/** Sets up the default preview and converted inputs for voxel tools; Typically do not need to overload */
virtual void ConvertInputsAndSetPreviewMaterials(bool bSetPreviewMesh = true) override;
/** Sets the output material to the default "world grid" material */
virtual TArray<UMaterialInterface*> GetOutputMaterials() const override;
UPROPERTY()
TObjectPtr<UVoxelProperties> VoxProperties;
TArray<TSharedPtr<FDynamicMesh3, ESPMode::ThreadSafe>> OriginalDynamicMeshes;
};