CelticCraft/Plugins/VoxelFree/Source/VoxelGraph/Public/VoxelNodes/VoxelCurveNodes.h

45 lines
1.1 KiB
C
Raw Normal View History

2023-07-03 16:17:13 +00:00
// Copyright 2020 Phyronnaz
#pragma once
#include "CoreMinimal.h"
#include "VoxelExposedNodes.h"
#include "VoxelCurveNodes.generated.h"
class UCurveFloat;
class UCurveLinearColor;
// Apply a float curve
UCLASS(DisplayName = "Float Curve", Category = "Curve")
class VOXELGRAPH_API UVoxelNode_Curve : public UVoxelExposedNode
{
GENERATED_BODY()
GENERATED_VOXELNODE_BODY()
public:
UPROPERTY(EditAnywhere, Category = "Voxel", meta = (NonNull))
TObjectPtr<UCurveFloat> Curve;
UVoxelNode_Curve();
virtual FText GetTitle() const override;
virtual FName GetParameterPropertyName() const override { return GET_OWN_MEMBER_NAME(Curve); }
};
// Apply a color curve
// TODO option to output color
UCLASS(DisplayName = "Color Curve", Category = "Curve")
class VOXELGRAPH_API UVoxelNode_CurveColor : public UVoxelExposedNode
{
GENERATED_BODY()
GENERATED_VOXELNODE_BODY()
public:
UPROPERTY(EditAnywhere, Category = "Voxel", meta = (NonNull))
TObjectPtr<UCurveLinearColor> Curve;
UVoxelNode_CurveColor();
virtual FText GetTitle() const override;
virtual FName GetParameterPropertyName() const override { return GET_OWN_MEMBER_NAME(Curve); }
};