math.geom2d.transform
Class GlideReflection2D

java.lang.Object
  extended by math.geom2d.transform.AbstractAffineTransform2D
      extended by math.geom2d.transform.GlideReflection2D
All Implemented Interfaces:
AffineTransform2D, Bijection2D, Isometry2D, Similarity2D, Transform2D

public class GlideReflection2D
extends AbstractAffineTransform2D
implements Isometry2D

A glide reflection is generated by applying first a reflection along a line, then a translation in the direction given by the line. The composition of 2 glide reflections is equivalent to a translation.

Author:
dlegland

Nested Class Summary
 
Nested classes/interfaces inherited from class math.geom2d.transform.AbstractAffineTransform2D
AbstractAffineTransform2D.Identity2D
 
Constructor Summary
GlideReflection2D(StraightObject2D line, double distance)
           
 
Method Summary
 double[][] getAffineMatrix()
          return matrix of the transform coefficients.
 double[] getCoefficients()
          return coefficients of the transform.
 GlideReflection2D getInverseTransform()
           
 LinearTransform2D getLinearPart()
           
 double getScalingFactor()
          The scaling factor is 1 by definition.
 Translation2D getTranslationPart()
           
 boolean isDirect()
          Returns false by definition of glide reflection.
 boolean isIdentity()
          Returns false by definition.
 boolean isIsometry()
          Returns true by definition of glide reflection.
 boolean isMotion()
          Returns true if translation part is equivalent to identity.
 boolean isSimilarity()
          Returns true by definition of glide reflection.
 
Methods inherited from class math.geom2d.transform.AbstractAffineTransform2D
compose, createRotation, createRotation, createRotation, createScaling, createScaling, createTranslation, createTranslation, equals, isDirect, isIdentity, isIsometry, isMotion, isSimilarity, transform, transform, transform
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface math.geom2d.transform.AffineTransform2D
compose
 
Methods inherited from interface math.geom2d.transform.Transform2D
transform, transform, transform
 

Constructor Detail

GlideReflection2D

public GlideReflection2D(StraightObject2D line,
                         double distance)
Method Detail

isSimilarity

public boolean isSimilarity()
Returns true by definition of glide reflection.

Specified by:
isSimilarity in interface AffineTransform2D
Overrides:
isSimilarity in class AbstractAffineTransform2D

isMotion

public boolean isMotion()
Returns true if translation part is equivalent to identity.

Specified by:
isMotion in interface AffineTransform2D
Overrides:
isMotion in class AbstractAffineTransform2D
Returns:
true in case of motion.

isIsometry

public boolean isIsometry()
Returns true by definition of glide reflection.

Specified by:
isIsometry in interface AffineTransform2D
Overrides:
isIsometry in class AbstractAffineTransform2D
Returns:
true in case of isometry.

isDirect

public boolean isDirect()
Returns false by definition of glide reflection.

Specified by:
isDirect in interface AffineTransform2D
Specified by:
isDirect in interface Isometry2D
Overrides:
isDirect in class AbstractAffineTransform2D
Returns:
true if transform is direct.

isIdentity

public boolean isIdentity()
Returns false by definition.

Specified by:
isIdentity in interface AffineTransform2D
Overrides:
isIdentity in class AbstractAffineTransform2D
Returns:
true if the transform is identity

getLinearPart

public LinearTransform2D getLinearPart()
Specified by:
getLinearPart in interface Similarity2D
Returns:
the linear part of the transform.

getScalingFactor

public double getScalingFactor()
The scaling factor is 1 by definition.

Specified by:
getScalingFactor in interface Similarity2D
Returns:
the scaling factor of the transform.

getTranslationPart

public Translation2D getTranslationPart()
Specified by:
getTranslationPart in interface Similarity2D
Returns:
the translation part of the transform.

getAffineMatrix

public double[][] getAffineMatrix()
Description copied from interface: AffineTransform2D
return matrix of the transform coefficients. Result is a 2x3 array of double.

Specified by:
getAffineMatrix in interface AffineTransform2D

getCoefficients

public double[] getCoefficients()
Description copied from interface: AffineTransform2D
return coefficients of the transform. Result is an array of 6 double.

Specified by:
getCoefficients in interface AffineTransform2D

getInverseTransform

public GlideReflection2D getInverseTransform()
Specified by:
getInverseTransform in interface Bijection2D