76 lines
2 KiB
C
76 lines
2 KiB
C
|
// Copyright 2020 Phyronnaz
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "CoreMinimal.h"
|
||
|
#include "VoxelNodeHelper.h"
|
||
|
#include "VoxelNodeHelperMacros.h"
|
||
|
#include "VoxelExposedNodes.h"
|
||
|
#include "VoxelGenerators/VoxelGeneratorPicker.h"
|
||
|
#include "VoxelGraphErrorReporter.h"
|
||
|
#include "VoxelGeneratorSamplerNodes.generated.h"
|
||
|
|
||
|
UCLASS(Abstract, Category = "Generator")
|
||
|
class VOXELGRAPH_API UVoxelNode_GeneratorSamplerBase : public UVoxelExposedNode
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
|
||
|
public:
|
||
|
//~ Begin UVoxelNode Interface
|
||
|
//~ End UVoxelNode Interface
|
||
|
};
|
||
|
|
||
|
UCLASS(Abstract)
|
||
|
class VOXELGRAPH_API UVoxelNode_SingleGeneratorSamplerBase : public UVoxelNode_GeneratorSamplerBase
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
|
||
|
public:
|
||
|
UPROPERTY(EditAnywhere, Category = "Config")
|
||
|
FVoxelGeneratorPicker Generator;
|
||
|
|
||
|
UVoxelNode_SingleGeneratorSamplerBase();
|
||
|
|
||
|
//~ Begin UVoxelNode Interface
|
||
|
virtual void LogErrors(FVoxelGraphErrorReporter& ErrorReporter) override;
|
||
|
virtual FText GetTitle() const override;
|
||
|
//~ End UVoxelNode Interface
|
||
|
|
||
|
//~ Begin UVoxelExposedNode Interface
|
||
|
virtual FName GetParameterPropertyName() const override { return GET_OWN_MEMBER_NAME(Generator); }
|
||
|
//~ End UVoxelExposedNode Interface
|
||
|
};
|
||
|
|
||
|
UCLASS(DisplayName = "Get Generator Value")
|
||
|
class VOXELGRAPH_API UVoxelNode_GetGeneratorValue : public UVoxelNode_SingleGeneratorSamplerBase
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
GENERATED_VOXELNODE_BODY()
|
||
|
|
||
|
UVoxelNode_GetGeneratorValue();
|
||
|
};
|
||
|
|
||
|
UCLASS(DisplayName = "Get Generator Material")
|
||
|
class VOXELGRAPH_API UVoxelNode_GetGeneratorMaterial : public UVoxelNode_SingleGeneratorSamplerBase
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
GENERATED_VOXELNODE_BODY()
|
||
|
|
||
|
UVoxelNode_GetGeneratorMaterial();
|
||
|
};
|
||
|
|
||
|
UCLASS(DisplayName = "Get Generator Custom Output")
|
||
|
class VOXELGRAPH_API UVoxelNode_GetGeneratorCustomOutput : public UVoxelNode_SingleGeneratorSamplerBase
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
GENERATED_VOXELNODE_BODY()
|
||
|
|
||
|
UVoxelNode_GetGeneratorCustomOutput();
|
||
|
|
||
|
UPROPERTY(EditAnywhere, Category = "Config")
|
||
|
FName OutputName = "Value";
|
||
|
|
||
|
//~ Begin UVoxelNode Interface
|
||
|
virtual FText GetTitle() const override;
|
||
|
//~ End UVoxelNode Interface
|
||
|
};
|