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

32 lines
No EOL
1.6 KiB
C

// Copyright 2020 Phyronnaz
#pragma once
#include "CoreMinimal.h"
#include "FastNoise/VoxelFastNoise.inl"
#define GENERATED_NOISENODE_BODY_IMPL(Dimension, FunctionName, Body, Parent) \
virtual uint32 GetDimension() const override final { return Dimension; }
#define GENERATED_NOISENODE_BODY_DIM_IMPL(Dimension, Derivative, Fractal, FunctionName, Parent) \
virtual uint32 GetDimension() const override final { return Dimension; }
#define GENERATED_NOISENODE_BODY_DIM2(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(2,,, FunctionName, FVoxelNoiseComputeNode)
#define GENERATED_NOISENODE_BODY_DIM3(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(3,,, FunctionName, FVoxelNoiseComputeNode)
#define GENERATED_NOISENODE_BODY_FRACTAL_DIM2(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(2,, _FRACTAL, FunctionName, FVoxelNoiseFractalComputeNode)
#define GENERATED_NOISENODE_BODY_FRACTAL_DIM3(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(3,, _FRACTAL, FunctionName, FVoxelNoiseFractalComputeNode)
#define GENERATED_NOISENODE_BODY_DERIVATIVE_DIM2(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(2, _DERIV,, FunctionName, FVoxelNoiseComputeNode)
#define GENERATED_NOISENODE_BODY_DERIVATIVE_DIM3(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(3, _DERIV,, FunctionName, FVoxelNoiseComputeNode)
#define GENERATED_NOISENODE_BODY_FRACTAL_DERIVATIVE_DIM2(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(2, _DERIV, _FRACTAL, FunctionName, FVoxelNoiseFractalComputeNode)
#define GENERATED_NOISENODE_BODY_FRACTAL_DERIVATIVE_DIM3(FunctionName) \
GENERATED_NOISENODE_BODY_DIM_IMPL(3, _DERIV, _FRACTAL, FunctionName, FVoxelNoiseFractalComputeNode)