fr.inria.zvtm.lens
Class FixedSizeLens

java.lang.Object
  extended by fr.inria.zvtm.lens.Lens
      extended by fr.inria.zvtm.lens.FixedSizeLens
Direct Known Subclasses:
BlendingLens, FSFresnelLens, FSGaussianLens, FSInverseCosineLens, FSLinearLens, FSManhattanLens, FSScramblingLens, FSStepLens, FSWaveLens

public abstract class FixedSizeLens
extends Lens

Parent class of all lenses which have a fixed size (i.e. whose radius does not depend on the view's size)


Field Summary
static short CONSTANT
           
protected  int LR1
           
protected  int LR2
           
static short SPEED_DEPENDENT_LINEAR
           
 
Fields inherited from class fr.inria.zvtm.lens.Lens
h, lensHeight, lensWidth, lx, ly, magnifiedGraphics, mbh, mbi, mbw, MM, MM_FLOOR, mSwitchThreshold, owningView, sh, sw, w
 
Constructor Summary
FixedSizeLens()
           
 
Method Summary
 void drawBoundary(Graphics2D g2d)
          for internal use
 float getActualRingRadius()
           
 int getInnerRadius()
          get the lens' inner radius (beyond which maximum magnification is applied - inward)
 Color getInnerRadiusColor()
          Get the color used to draw the lens' inner radius.
 int getOuterRadius()
          get the lens' outer radius (beyond which no magnification is applied - outward)
 Color getOuterRadiusColor()
          Get the color used to draw the lens' outer radius.
 int getRadius()
          outer radius
 long[] getVisibleRegionInFocus(Camera c, long[] res)
          returns bounds of rectangle representing virtual space's region seen through focus of lens and camera c [west,north,east,south]
 void moveLensBy(int dx, int dy, long currentTime)
           
 void setAbsolutePosition(int ax, int ay)
          set the position of the lens inside the view
 void setFocusControlled(boolean isFocusControlled)
           
 void setFocusControlled(boolean isFocusControlled, short speedBehavior)
           
 void setInnerRadius(int r)
          set the lens' inner radius (beyond which maximum magnification is applied - inward)
 void setInnerRadiusColor(Color c)
          Set the color used to draw the lens' inner radius (default is black).
 void setLensBuffer(ViewPanel p)
          Should not be called directly ; used to update buffer image caracteristics when lens outer radius changes
 void setMMandRadii(float mm, int outerRadius, int innerRadius)
          set the lens' radii and maximum magnification
 void setMMandRadii(float mm, int outerRadius, int innerRadius, boolean forceRaster)
          set the lens' radii and maximum magnification
 void setOuterRadius(int r)
          set the lens' outer radius (beyond which no magnification is applied - outward)
 void setOuterRadiusColor(Color c)
          Set the color used to draw the lens' outer radius (default is black).
 void setRadii(int outerRadius, int innerRadius)
          set the lens' radii
 void setRadii(int outerRadius, int innerRadius, boolean forceRaster)
          set the lens' radii
 
Methods inherited from class fr.inria.zvtm.lens.Lens
dispose, getActualMaximumMagnification, getBufferThreshold, getMagnificationGraphics, getMaximumMagnification, getOwningView, getVisibleRegion, getXfocusOffset, getYfocusOffset, gf, isInitialized, resetMagnificationBuffer, setBufferThreshold, setMagRasterDimensions, setMagRasterDimensions, setMaximumMagnification, setMaximumMagnification, setXfocusOffset, setYfocusOffset, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LR1

protected int LR1

LR2

protected int LR2

CONSTANT

public static short CONSTANT

SPEED_DEPENDENT_LINEAR

public static short SPEED_DEPENDENT_LINEAR
Constructor Detail

FixedSizeLens

public FixedSizeLens()
Method Detail

setOuterRadius

public void setOuterRadius(int r)
set the lens' outer radius (beyond which no magnification is applied - outward)

Parameters:
r - radius in pixels

setInnerRadius

public void setInnerRadius(int r)
set the lens' inner radius (beyond which maximum magnification is applied - inward)

Parameters:
r - radius in pixels

setRadii

public void setRadii(int outerRadius,
                     int innerRadius)
set the lens' radii

Parameters:
outerRadius - outer radius (beyond which no magnification is applied - outward)
innerRadius - inner radius (beyond which maximum magnification is applied - inward)

setRadii

public void setRadii(int outerRadius,
                     int innerRadius,
                     boolean forceRaster)
set the lens' radii

Parameters:
outerRadius - outer radius (beyond which no magnification is applied - outward)
innerRadius - inner radius (beyond which maximum magnification is applied - inward)
forceRaster - true if the magnification raster size should be updated according to the new maximum magnification factor (default is true)

setMMandRadii

public void setMMandRadii(float mm,
                          int outerRadius,
                          int innerRadius)
set the lens' radii and maximum magnification

Parameters:
mm - maximum magnification factor, mm in [0,+inf[
outerRadius - outer radius (beyond which no magnification is applied - outward)
innerRadius - inner radius (beyond which maximum magnification is applied - inward)

setMMandRadii

public void setMMandRadii(float mm,
                          int outerRadius,
                          int innerRadius,
                          boolean forceRaster)
set the lens' radii and maximum magnification

Parameters:
mm - maximum magnification factor, mm in [0,+inf[
outerRadius - outer radius (beyond which no magnification is applied - outward)
innerRadius - inner radius (beyond which maximum magnification is applied - inward)
forceRaster - true if the magnification raster size should be updated according to the new maximum magnification factor (default is true)

getOuterRadius

public int getOuterRadius()
get the lens' outer radius (beyond which no magnification is applied - outward)


getRadius

public int getRadius()
Description copied from class: Lens
outer radius

Specified by:
getRadius in class Lens

getInnerRadius

public int getInnerRadius()
get the lens' inner radius (beyond which maximum magnification is applied - inward)


getActualRingRadius

public float getActualRingRadius()

setLensBuffer

public void setLensBuffer(ViewPanel p)
Should not be called directly ; used to update buffer image caracteristics when lens outer radius changes

Specified by:
setLensBuffer in class Lens

setAbsolutePosition

public void setAbsolutePosition(int ax,
                                int ay)
set the position of the lens inside the view

Specified by:
setAbsolutePosition in class Lens
Parameters:
ax - lens's center horizontal coordinate expressed as an absolute position within the view (JPanel coordinate system)
ay - lens's center vertical coordinate expressed as an absolute position within the view (JPanel coordinate system)

setFocusControlled

public void setFocusControlled(boolean isFocusControlled,
                               short speedBehavior)
Specified by:
setFocusControlled in class Lens

setFocusControlled

public void setFocusControlled(boolean isFocusControlled)
Specified by:
setFocusControlled in class Lens

moveLensBy

public void moveLensBy(int dx,
                       int dy,
                       long currentTime)
Specified by:
moveLensBy in class Lens

setInnerRadiusColor

public void setInnerRadiusColor(Color c)
Set the color used to draw the lens' inner radius (default is black).

Parameters:
c - color of the boundary (set to null if you do not want to draw that border)

setOuterRadiusColor

public void setOuterRadiusColor(Color c)
Set the color used to draw the lens' outer radius (default is black).

Parameters:
c - color of the boundary (set to null if you do not want to draw that border)

getInnerRadiusColor

public Color getInnerRadiusColor()
Get the color used to draw the lens' inner radius.

Returns:
color of the boundary (null if border is not drawn)

getOuterRadiusColor

public Color getOuterRadiusColor()
Get the color used to draw the lens' outer radius.

Returns:
color of the boundary (null if border is not drawn)

drawBoundary

public void drawBoundary(Graphics2D g2d)
for internal use

Overrides:
drawBoundary in class Lens

getVisibleRegionInFocus

public long[] getVisibleRegionInFocus(Camera c,
                                      long[] res)
returns bounds of rectangle representing virtual space's region seen through focus of lens and camera c [west,north,east,south]

Parameters:
c - camera
res - array which will contain the result


Copyright © 2000-2002 Xerox Corporation. All Rights Reserved
Copyright © 2003 World Wide Web Consortium. All Rights Reserved
Copyright © 2004-2011 INRIA. All Rights Reserved
Licensed under the GNU LGPL. For full terms see the file COPYING.