CFx SDK Documentation  2023 SP0
Public Member Functions | Static Public Member Functions | List of all members
OdGiNoiseGenerator Class Referenceabstract

#include <GiNoiseGenerator.h>

Inheritance diagram for OdGiNoiseGenerator:
OdRxObject

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiNoiseGenerator)
 
virtual void initSeed (OdUInt32 seed)=0
 
virtual double noise1d (double point) const =0
 
virtual double noise2d (const OdGePoint2d &point) const =0
 
virtual double noise3d (const OdGePoint3d &point) const =0
 
virtual double noise (double point[], OdInt32 len) const =0
 
virtual double turbulence (const OdGePoint3d &point, double freq) const =0
 
virtual double oNoise (const OdGePoint3d &point, double freq) const =0
 
virtual double fBm (const OdGePoint3d &point, double H, double lacunarity, double octaves) const =0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static OdSmartPtr< OdGiNoiseGeneratorcreateObject (OdUInt32 seed)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

Noise generator for procedural textures generation (based on Perlin noise).

See also
TD_Gi

<group OdGi_Classes>

Definition at line 46 of file GiNoiseGenerator.h.

Member Function Documentation

◆ createObject()

static OdSmartPtr<OdGiNoiseGenerator> OdGiNoiseGenerator::createObject ( OdUInt32  seed)
static

Create OdGiNoiseGenerator, initialized by specified seed.

Parameters
seed[in] Random number generator seed.

◆ fBm()

virtual double OdGiNoiseGenerator::fBm ( const OdGePoint3d point,
double  H,
double  lacunarity,
double  octaves 
) const
pure virtual

Fractal brownian motion. Returns values between -1.0 and 1.0.

Parameters
point[in] 3D input point location.
H[in] Range fractal dimension 1.0 - 0.0 where 0.0 is total chaos.
lacunarity[in] Gap between successive frequencies, use 2.0.
octaves[in] Number of frequencies in the fBm. 3 - 7.

◆ initSeed()

virtual void OdGiNoiseGenerator::initSeed ( OdUInt32  seed)
pure virtual

Initialize noise generation tables to specified seed.

Parameters
seed[in] Random number generator seed.

◆ noise()

virtual double OdGiNoiseGenerator::noise ( double  point[],
OdInt32  len 
) const
pure virtual

General noise function calls the previous 3 depending on len. Input range from 0 to 3. Returns values between -1.0 and 1.0.

Parameters
point[in] 1D, 2D or 3D point location.
len[in] Point dimensions.

◆ noise1d()

virtual double OdGiNoiseGenerator::noise1d ( double  point) const
pure virtual

Generate noise value for a 1D location. Returns values between -1.0 and 1.0.

Parameters
point[in] 1D point location.

◆ noise2d()

virtual double OdGiNoiseGenerator::noise2d ( const OdGePoint2d point) const
pure virtual

Generate noise value for a 2D location. Returns values between -1.0 and 1.0.

Parameters
point[in] 2D point location.

◆ noise3d()

virtual double OdGiNoiseGenerator::noise3d ( const OdGePoint3d point) const
pure virtual

Generate noise value for a 3D location. Returns values between -1.0 and 1.0.

Parameters
point[in] 3D point location.

◆ ODRX_DECLARE_MEMBERS()

OdGiNoiseGenerator::ODRX_DECLARE_MEMBERS ( OdGiNoiseGenerator  )

◆ oNoise()

virtual double OdGiNoiseGenerator::oNoise ( const OdGePoint3d point,
double  freq 
) const
pure virtual

Noise across a number of octaves. Returns values between -1.0 and 1.0.

Parameters
point[in] 3D input point location.
freq[in] Turbulence frequency.

◆ turbulence()

virtual double OdGiNoiseGenerator::turbulence ( const OdGePoint3d point,
double  freq 
) const
pure virtual

Generate turbulent noise across a number of octaves. Returns values between -1.0 and 1.0.

Parameters
point[in] 3D input point location.
freq[in] Turbulence frequency.

The documentation for this class was generated from the following file: