#pragma once #include #include "FastSIMD/FastSIMD.h" #include "FastNoise_Config.h" #include "Generators/BasicGenerators.h" #include "Generators/Value.h" #include "Generators/Perlin.h" #include "Generators/Simplex.h" #include "Generators/Cellular.h" #include "Generators/Fractal.h" #include "Generators/DomainWarp.h" #include "Generators/DomainWarpFractal.h" #include "Generators/Modifiers.h" #include "Generators/Blends.h" namespace FastNoise { template inline SmartNode New( FastSIMD::eLevel maxLevel = FastSIMD::Level_Null ) { static_assert( std::is_base_of_v, "Use FastSIMD::New() to create non FastNoise classes" ); return SmartNode( FastSIMD::New( maxLevel ) ); } inline SmartNode<> NewFromEncodedNodeTree( const char* encodedNodeTreeString, FastSIMD::eLevel maxLevel = FastSIMD::Level_Null ) { return Metadata::DeserialiseSmartNode( encodedNodeTreeString, maxLevel ); } }