com.swfm.mica.core
Interface MiiTransform

All Superinterfaces:
MiiCommandNames
All Known Implementing Classes:
MiGeneralTransform, MiTransforms

public interface MiiTransform
extends MiiCommandNames

Version:
%I% %G%
Author:
Michael L. Davis

Field Summary
   
Method Summary
 void dtow(MiBounds dBounds, MiBounds wBounds)
          Convert the given device space bounds to world space bounds.
 void dtow(MiDeviceBounds dBounds, MiBounds wBounds)
          Convert the given integer device space bounds to world space bounds.
 void dtow(MiDevicePoint dPoint, MiDeviceVector dVector, MiVector wVector)
          Convert the vector at the given location in device space to the corresponding vector in world space.
 void dtow(MiDevicePoint dPoint, MiPoint point)
          Convert the coordinate in integer device space to it's corresponding coordinate in world space.
 void dtow(MiPoint dPoint, MiPoint wPoint)
          Convert the coordinate in device space to it's corresponding coordinate in world space.
 void dtow(MiPoint dPoint, MiVector dVector, MiVector wVector)
          Convert the vector at the given location in device space to the corresponding vector in world space.
 MiVector getDeviceTranslation(MiVector vector)
          Get the device translation.
 MiiCommandHandler getObserver()
          Gets the observer that will be notified whenever this transform changes.
 double getRotation()
          Get the current rotation in radians.
 MiPoint getRotationPoint(MiPoint center)
          Get the point to rotate about.
 MiScale getScale(MiScale scale)
          Get the horizontal and vertical scale factors.
 MiVector getWorldTranslation(MiVector vector)
          Get the world translation.
 boolean isPositionDependent()
          Returns whether this transform has constant scaleFactors and translations across the world space.
 void rotate(double radians)
          Adjust the rotation by the given amount.
 void scale(MiScale scale)
          Increase/decrease the scale factor by the given amount.
 void setDeviceTranslation(MiVector vector)
          Set the device translation to the given amount.
 void setObserver(MiiCommandHandler handler)
          Specifies the observer that will be notified whenever this transform changes.
 void setRotation(double radians)
          Set the rotation to the given amount.
 void setRotationPoint(MiPoint center)
          Set the point to rotate about.
 void setScale(MiScale scale)
          Set the scale factor to the given amount.
 void setWorldTranslation(MiVector vector)
          Set the world translation to the given amount.
 void translate(MiVector vector)
          Adjust the world translation by the given amount.
 void wtod(MiBounds wBounds, MiBounds dBounds)
          Convert the given world space bounds to device space bounds.
 void wtod(MiBounds wBounds, MiDeviceBounds dBounds)
          Convert the given world space bounds to integer device space bounds.
 void wtod(MiPoint point, MiDevicePoint dPoint)
          Convert the coordinate in world space to it's corresponding coordinate in integer device space.
 void wtod(MiPoint wPoint, MiPoint dPoint)
          Convert the coordinate in world space to it's corresponding coordinate in device space.
 void wtod(MiPoint wPoint, MiVector wVector, MiDeviceVector dVector)
          Convert the vector at the given location in world space to the corresponding vector in device space.
 void wtod(MiPoint wPoint, MiVector wVector, MiVector dVector)
          Convert the vector at the given location in world space to the corresponding vector in device space.
 

Method Detail

isPositionDependent

public boolean isPositionDependent()
Returns whether this transform has constant scaleFactors and translations across the world space. In effect this returns true if scale = f(x,y) or translation = f(x,y)

Returns:
true if transform depends on location.

setObserver

public void setObserver(MiiCommandHandler handler)
Specifies the observer that will be notified whenever this transform changes. This is used by tranforms that are concatenations of other transforms (i.e. MiTranforms). The command: Mi_OBSERVED_HAS_CHANGED_COMMAND_NAME is sent to the observer whenever the scale, translation, etc. is changed in this transform.

Parameters:
handler - the observer
See Also:
getObserver()

getObserver

public MiiCommandHandler getObserver()
Gets the observer that will be notified whenever this transform changes.

Returns:
the observer
See Also:
setObserver(com.swfm.mica.commands.MiiCommandHandler)

scale

public void scale(MiScale scale)
Increase/decrease the scale factor by the given amount.

Parameters:
scale - the scale that is combined with the current scale factor.

translate

public void translate(MiVector vector)
Adjust the world translation by the given amount.

Parameters:
vector - the translation that is combined with the current translation.

rotate

public void rotate(double radians)
Adjust the rotation by the given amount. The rotation is performed about the current rotation point. If none has been set then the center of the world is used.

Parameters:
radians - the angle that is combined with the current rotation.

setScale

public void setScale(MiScale scale)
Set the scale factor to the given amount.

Parameters:
scale - the new scale factor.

getScale

public MiScale getScale(MiScale scale)
Get the horizontal and vertical scale factors. These are the ratio of the world space sizes to the device space size.

Parameters:
scale - the (returned) scale factor.
Returns:
the scale factor.

setWorldTranslation

public void setWorldTranslation(MiVector vector)
Set the world translation to the given amount.

Parameters:
vector - the new translation.

getWorldTranslation

public MiVector getWorldTranslation(MiVector vector)
Get the world translation.

Parameters:
vector - the (returned) translation.
Returns:
the translation.

setDeviceTranslation

public void setDeviceTranslation(MiVector vector)
Set the device translation to the given amount.

Parameters:
vector - the new translation.

getDeviceTranslation

public MiVector getDeviceTranslation(MiVector vector)
Get the device translation.

Parameters:
vector - the (returned) translation.
Returns:
the translation.

setRotation

public void setRotation(double radians)
Set the rotation to the given amount. The rotation is performed about the given point.

Parameters:
radians - the new angle of rotation.

getRotation

public double getRotation()
Get the current rotation in radians.

Returns:
the angle of rotation in radians.

setRotationPoint

public void setRotationPoint(MiPoint center)
Set the point to rotate about.

Parameters:
center - the center of rotation.

getRotationPoint

public MiPoint getRotationPoint(MiPoint center)
Get the point to rotate about.

Parameters:
center - the (returned) center of rotation.
Returns:
the center of rotation.

wtod

public void wtod(MiPoint wPoint,
                 MiPoint dPoint)
Convert the coordinate in world space to it's corresponding coordinate in device space.

Parameters:
wPoint - the world space coordinate
dPoint - the (returned) device space coordinate

wtod

public void wtod(MiPoint point,
                 MiDevicePoint dPoint)
Convert the coordinate in world space to it's corresponding coordinate in integer device space.

Parameters:
point - the world space coordinate
dPoint - the (returned) device space coordinate

wtod

public void wtod(MiPoint wPoint,
                 MiVector wVector,
                 MiVector dVector)
Convert the vector at the given location in world space to the corresponding vector in device space.

Parameters:
wPoint - the world space coordinate
wVector - the world space vector
dVector - the (returned) device space vector

wtod

public void wtod(MiPoint wPoint,
                 MiVector wVector,
                 MiDeviceVector dVector)
Convert the vector at the given location in world space to the corresponding vector in device space.

Parameters:
wPoint - the world space coordinate
wVector - the world space vector
dVector - the (returned) device space vector

wtod

public void wtod(MiBounds wBounds,
                 MiBounds dBounds)
Convert the given world space bounds to device space bounds. The given bounds may reference the same MiBounds instance.

Parameters:
wBounds - the world space bounds
dBounds - the (returned) device space bounds

wtod

public void wtod(MiBounds wBounds,
                 MiDeviceBounds dBounds)
Convert the given world space bounds to integer device space bounds.

Parameters:
wBounds - the world space bounds
dBounds - the (returned) device space bounds

dtow

public void dtow(MiPoint dPoint,
                 MiPoint wPoint)
Convert the coordinate in device space to it's corresponding coordinate in world space.

Parameters:
dPoint - the device space coordinate
wPoint - the (returned) world space coordinate

dtow

public void dtow(MiDevicePoint dPoint,
                 MiPoint point)
Convert the coordinate in integer device space to it's corresponding coordinate in world space.

Parameters:
dPoint - the device space coordinate
point - the (returned) world space coordinate

dtow

public void dtow(MiPoint dPoint,
                 MiVector dVector,
                 MiVector wVector)
Convert the vector at the given location in device space to the corresponding vector in world space.

Parameters:
dPoint - the device space coordinate
dVector - the device space vector
wVector - the (returned) world space vector

dtow

public void dtow(MiDevicePoint dPoint,
                 MiDeviceVector dVector,
                 MiVector wVector)
Convert the vector at the given location in device space to the corresponding vector in world space.

Parameters:
dPoint - the device space coordinate
dVector - the device space vector
wVector - the (returned) world space vector

dtow

public void dtow(MiBounds dBounds,
                 MiBounds wBounds)
Convert the given device space bounds to world space bounds. The given bounds may reference the same MiBounds instance.

Parameters:
dBounds - the device space bounds
wBounds - the (returned) world space bounds

dtow

public void dtow(MiDeviceBounds dBounds,
                 MiBounds wBounds)
Convert the given integer device space bounds to world space bounds.

Parameters:
dBounds - the device space bounds
wBounds - the (returned) world space bounds