rwlogo
Rogue Wave Views 5.5.1

Rogue Wave Views
Foundation Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvTurbulenceFilter Class Reference

Turbulence filter. More...

#include <ilviews/bitmaps/filters/turbulence.h>

Inheritance diagram for IlvTurbulenceFilter:
IlvBitmapFilter

List of all members.

Public Types

enum  NoiseMode { Fractal, Turbulence }
 

This enumeration defines the possible values for the noise mode.

More...

Public Member Functions

 IlvTurbulenceFilter (IlFloat baseFrequencyX=0.05, IlFloat baseFrequencyY=0.05, IlUInt numOctaves=1, IlFloat seed=0.0, NoiseMode=Turbulence, IlBoolean stitch=((IlBoolean) 0))
 Constructor.
IlvBitmapDataapply (IlUInt count=0, const IlvBitmapData **datas=0)
 Applies the turbulence.
IlFloat getBaseFrequencyX () const
 Returns the frequency in the x direction.
IlFloat getBaseFrequencyY () const
 Returns the frequency in the y direction.
NoiseMode getNoiseMode () const
 Returns the noise generator mode.
IlUInt getNumOctaves () const
 Returns the octaves.
IlFloat getSeed () const
 Returns the seed value.
void setBaseFrequencyX (IlFloat frequency)
 Sets the frequency in the x direction.
void setBaseFrequencyY (IlFloat frequency)
 Sets the frequency in the y direction.
void setNoiseMode (NoiseMode mode)
void setNumOctaves (IlUInt octaves)
 Sets the octaves.
void setSeed (IlFloat seed)
 Sets the seed value for the random functions used by the filter.

Detailed Description

Turbulence filter.

Library: ilvbmpflt

This bitmap filter lets you create images using the Ken Perlin turbulence function. It allows synthesis of natural textures such as cloud or marble. The basic algorithm sums for each pixel the values of a pseudo-random function using different scales and frequencies. You can specify the number of repetitions (octaves), the frequencies in each direction, and whether the filter generates turbulence of fractal noise. See "Texturing and Modeling", Ebert et al, AP Professional, 1994.

See also:
IlvRGBBitmapData, IlvBitmapFilter

Member Enumeration Documentation

This enumeration defines the possible values for the noise mode.

Enumerator:
Fractal 

The mode is Fractal.

Turbulence 

The mode is Turbulence.


Constructor & Destructor Documentation

IlvTurbulenceFilter::IlvTurbulenceFilter ( IlFloat  baseFrequencyX = 0.05,
IlFloat  baseFrequencyY = 0.05,
IlUInt  numOctaves = 1,
IlFloat  seed = 0.0,
NoiseMode  = Turbulence,
IlBoolean  stitch = ((IlBoolean) 0) 
)

Constructor.

Initializes a new instance of the class IlvTurbulenceFilter.


Member Function Documentation

IlFloat IlvTurbulenceFilter::getBaseFrequencyX (  )  const

Returns the frequency in the x direction.

Returns:
The frequency in the x direction.
IlFloat IlvTurbulenceFilter::getBaseFrequencyY (  )  const

Returns the frequency in the y direction.

Returns:
The frequency in the y direction.
NoiseMode IlvTurbulenceFilter::getNoiseMode (  )  const

Returns the noise generator mode.

Returns:
The noise generator mode.
IlUInt IlvTurbulenceFilter::getNumOctaves (  )  const

Returns the octaves.

Returns:
The octaves.
IlFloat IlvTurbulenceFilter::getSeed (  )  const

Returns the seed value.

Returns:
The seed value.
void IlvTurbulenceFilter::setBaseFrequencyX ( IlFloat  frequency  ) 

Sets the frequency in the x direction.

Parameters:
frequency The new frequency.
void IlvTurbulenceFilter::setBaseFrequencyY ( IlFloat  frequency  ) 

Sets the frequency in the y direction.

Parameters:
frequency The new frequency.
void IlvTurbulenceFilter::setNoiseMode ( NoiseMode  mode  ) 

Specifies whether the generated image should exhibit fractal or turbulence aspect.

Parameters:
isfractal A Boolean value specifying whether the generated image should exhibit fractal (IlTrue) or turbulence IlFalse) patterns.
void IlvTurbulenceFilter::setNumOctaves ( IlUInt  octaves  ) 

Sets the octaves.

Parameters:
octaves The new octaves.
void IlvTurbulenceFilter::setSeed ( IlFloat  seed  ) 

Sets the seed value for the random functions used by the filter.

Parameters:
seed The new seed.

© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.