Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
The DisplacementMapFilter class uses the pixel values from the specified BitmapData object
(called the
displacement map image) to perform a displacement of an object.
You can use this filter to apply a warped
or mottled effect to any object that inherits from the DisplayObject class,
such as MovieClip, SimpleButton, TextField, and Video objects, as well as to BitmapData objects.
The use of filters depends on the object to which you apply the filter:
- To apply filters to a display object, use the
filters
property of the display object. Setting the filters
property of an object does not modify the object, and you can remove the filter by clearing the
filters
property.
- To apply filters to BitmapData objects, use the
BitmapData.applyFilter()
method.
Calling applyFilter()
on a BitmapData object takes the source BitmapData object
and the filter object and generates a filtered image.
If you apply a filter to a display object, the value of the cacheAsBitmap
property of the
display object is set to true
. If you clear all filters, the original value of
cacheAsBitmap
is restored.
The filter uses the following formula:
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
where componentX(x, y)
gets the componentX
property color value
from the mapBitmap
property at (x - mapPoint.x ,y - mapPoint.y)
.
The map image used by the filter is scaled to match the Stage scaling.
It is not scaled when the object itself is scaled.
This filter supports Stage scaling. However, general scaling, rotation, and
skewing are not supported. If the object itself is scaled (if the scaleX
and scaleY
properties are set to a value other than 1.0),
the filter effect is not scaled. It is scaled only when the user zooms in on the Stage.
View the examples
alpha:Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Specifies the alpha transparency value to use for out-of-bounds displacements.
It is specified as a normalized value from 0.0 to 1.0. For example,
.25 sets a transparency value of 25%. The default value is 0.
Use this property if the mode
property is set to DisplacementMapFilterMode.COLOR
.
Implementation public function get alpha():Number
public function set alpha(value:Number):void
color:uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Specifies what color to use for out-of-bounds displacements. The valid range of
displacements is 0.0 to 1.0. Values are in hexadecimal format. The default value
for color
is 0. Use this property if the mode
property
is set to DisplacementMapFilterMode.COLOR
.
Implementation public function get color():uint
public function set color(value:uint):void
componentX:uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Describes which color channel to use in the map image to displace the x result.
Possible values are BitmapDataChannel constants:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementation public function get componentX():uint
public function set componentX(value:uint):void
See also
componentY:uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Describes which color channel to use in the map image to displace the y result.
Possible values are BitmapDataChannel constants:
BitmapDataChannel.ALPHA
BitmapDataChannel.BLUE
BitmapDataChannel.GREEN
BitmapDataChannel.RED
Implementation public function get componentY():uint
public function set componentY(value:uint):void
See also
mapBitmap:BitmapData
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
A BitmapData object containing the displacement map data.
Implementation public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
Throws | TypeError — The BitmapData is null when being set
|
See also
mapPoint:Point
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
A value that contains the offset of the upper-left corner of
the target display object from the upper-left corner of the map image.
Implementation public function get mapPoint():Point
public function set mapPoint(value:Point):void
Throws See also
mode:String
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
The mode for the filter. Possible values are DisplacementMapFilterMode
constants:
DisplacementMapFilterMode.WRAP
— Wraps the displacement value to the other side of the source image.DisplacementMapFilterMode.CLAMP
— Clamps the displacement value to the edge of the source image.DisplacementMapFilterMode.IGNORE
— If the displacement value is out of range, ignores the displacement and uses the source pixel.DisplacementMapFilterMode.COLOR
— If the displacement value is outside the image, substitutes the values in the color
and alpha
properties.
Implementation public function get mode():String
public function set mode(value:String):void
Throws See also
scaleX:Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
The multiplier to use to scale the x displacement result from the map calculation.
Implementation public function get scaleX():Number
public function set scaleX(value:Number):void
scaleY:Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
The multiplier to use to scale the y displacement result from the map calculation.
Implementation public function get scaleY():Number
public function set scaleY(value:Number):void
public function DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Initializes a DisplacementMapFilter instance with the specified parameters.
Parameters | mapBitmap:BitmapData (default = null ) — A BitmapData object containing the displacement map data.
|
|
| mapPoint:Point (default = null ) — A value that contains the offset of the upper-left corner of the
target display object from the upper-left corner of the map image.
|
|
| componentX:uint (default = 0 ) — Describes which color channel to use in the map image to displace the x result.
Possible values are the BitmapDataChannel constants.
|
|
| componentY:uint (default = 0 ) — Describes which color channel to use in the map image to displace the y result.
Possible values are the BitmapDataChannel constants.
|
|
| scaleX:Number (default = 0.0 ) — The multiplier to use to scale the x displacement result from the map calculation.
|
|
| scaleY:Number (default = 0.0 ) — The multiplier to use to scale the y displacement result from the map calculation.
|
|
| mode:String (default = "wrap ") — The mode of the filter. Possible values are the DisplacementMapFilterMode
constants.
|
|
| color:uint (default = 0 ) — Specifies the color to use for out-of-bounds displacements. The valid range of
displacements is 0.0 to 1.0. Use this parameter if mode is set to DisplacementMapFilterMode.COLOR .
|
|
| alpha:Number (default = 0.0 ) — Specifies what alpha value to use for out-of-bounds displacements.
It is specified as a normalized value from 0.0 to 1.0. For example,
.25 sets a transparency value of 25%.
Use this parameter if mode is set to DisplacementMapFilterMode.COLOR .
|
See also
override public function clone():BitmapFilter
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.0 |
Returns a copy of this filter object.
Returns | BitmapFilter — A new DisplacementMapFilter instance with all the same properties as the
original one.
|
The following example draws a square with a radial gradient fill, creates a text field,
creates a BitmapData object, and applies a displacement map filter to the
DisplacementMapFilterExample object. The general workflow for this example is as follows:
- The class defines variables for the background color, for the text field label,
and for the size and offset that will be used in various functions.
- The constructor function calls the
draw()
method,
which uses the methods of the Graphics class to draw a square with a radial gradient fill.
Note that graphics
is a property of the DisplacementMapFilterExample object,
which extends Sprite. - The constructor function calls the
createLabel()
method, which creates a text field
displaying the value of labelText
and adds it to the display list. - The constructor function calls the
createFilter()
method, which does the following:
- Creates a variable named
filter
for the filter object. - Calls the
getDisplacementMapFilter()
method and assigns its return value
to the filter
variable. - Passes
filter
to the filters
property of the
DisplacementFilterExample object (the main class).
- The
getBitmapFilter()
method creates a BitmapData object
named mapBitmap
and assigns it the results of
the createBitmapData()
method. The mapBitmap
object,
along with other variables, defines a new displacement map filter. - The
createBitmapData()
method creates a new BitmapData object that is based on
the current contents of the DisplacementMapFilterExample object. It creates a new bitmap
based on bitmapData
and adds the bitmap to the Stage.
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.filters.BitmapFilter;
import flash.filters.DisplacementMapFilter;
import flash.filters.DisplacementMapFilterMode;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
public class DisplacementMapFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 200;
private var offset:uint = 90;
private var labelText:String = "Watch the text bend with the displacement map";
public function DisplacementMapFilterExample() {
draw();
createLabel();
createFilter();
}
private function createFilter():void {
var filter:BitmapFilter = getBitmapFilter();
filters = new Array(filter);
}
private function getBitmapFilter():BitmapFilter {
var mapBitmap:BitmapData = createBitmapData();
var mapPoint:Point = new Point(0, 0);
var channels:uint = BitmapDataChannel.RED;
var componentX:uint = channels;
var componentY:uint = channels;
var scaleX:Number = 0.5;
var scaleY:Number = -30;
var mode:String = DisplacementMapFilterMode.CLAMP;
var color:uint = 0;
var alpha:Number = 0;
return new DisplacementMapFilter(mapBitmap,
mapPoint,
componentX,
componentY,
scaleX,
scaleY,
mode,
color,
alpha);
}
private function draw():void {
var matrix:Matrix = new Matrix();
matrix.createGradientBox(size, size);
graphics.beginGradientFill(GradientType.RADIAL,
[0xFF0000, 0x0000FF],
[100, 100],
[55, 200],
matrix,
SpreadMethod.PAD);
graphics.drawRect(0, 0, size, size);
}
private function createBitmapData():BitmapData {
var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
bitmapData.draw(this, new Matrix());
var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = size;
addChild(bitmap);
return bitmapData;
}
private function createLabel():void {
var tf:TextField = new TextField();
tf.text = labelText;
tf.y = offset;
tf.width = size;
addChild(tf);
}
}
}
© 2009 Adobe Systems Incorporated. All rights reserved.
Wed Jul 29 2009, 04:58 PM -07:00 DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter DisplacementMapFilter
flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter flash.filters.DisplacementMapFilter