35 #ifndef IE_CORE_TURBULENCE_H
36 #define IE_CORE_TURBULENCE_H
38 #include "IECore/PerlinNoise.h"
57 typedef typename N::Point Point;
59 typedef typename N::Value Value;
65 Turbulence(
const unsigned int octaves = 4,
const Value &gain = Value( 0.5 ),
66 PointBaseType lacunarity = 2.0,
bool turbulent =
true,
const N &noise = N() );
75 void setOctaves(
unsigned int octaves );
76 unsigned int getOctaves()
const;
78 void setGain(
const Value &gain );
79 const Value &getGain()
const;
81 void setLacunarity( PointBaseType lacunarity );
82 PointBaseType getLacunarity()
const;
84 void setTurbulent(
bool turbulent );
85 bool getTurbulent()
const;
87 void setNoise(
const Noise &n );
88 const Noise &getNoise()
const;
95 Value
turbulence(
const Point &p, PointBaseType filterWidth )
const;
101 void calculateScaleAndOffset();
105 unsigned int m_octaves;
107 PointBaseType m_lacunarity;
133 #include "IECore/Turbulence.inl"
135 #endif // IE_CORE_TURBULENCE_H
Turbulence(const unsigned int octaves=4, const Value &gain=Value(0.5), PointBaseType lacunarity=2.0, bool turbulent=true, const N &noise=N())
Definition: Turbulence.h:51
Definition: VectorTraits.h:48
Turbulence< PerlinNoiseV3ff > TurbulenceV3ff
Typedefs for common uses.
Definition: Turbulence.h:115
Value turbulence(const Point &p) const
T::BaseType BaseType
The type of the components of the vector.
Definition: VectorTraits.h:51
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43