com.esri.arcgis.geometry
Interface IAffineTransformation2D3GEN

All Superinterfaces:
Serializable
All Known Implementing Classes:
AffineTransformation2D

public interface IAffineTransformation2D3GEN
extends Serializable

Provides access to members that define and manipulate affine transformations. IAffineTransformation2D3GEN is generic version of IAffineTransformation2D3

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void defineConformalFromControlPoints(IPoint[] fromPoints, IPoint[] toPoints)
          Defines the best conformal affine transformation between two sets of points.
 void defineFromControlPoints(IPoint[] fromPoints, IPoint[] toPoints)
          Defines the best affine transformation between two sets of points.
 void defineFromEnvelopes(IEnvelope from, IEnvelope to)
          Defines a transformation that maps a point relative to one envelope to a similar position relative to another envelope.
 void defineFromEnvelopesEx(IEnvelope from, IEnvelope to, IEnvelope outFrom, boolean assumeFalseOrigin, boolean keepAspect, boolean flipIt)
          Defines a transformation that maps a point relative to one envelope to a similar position relative to another envelope.
 void defineReflection(ILine l)
          Defines a transformation that can perform a reflection about the line l.
 void getControlPointError(int i, double[] fromError, double[] toError)
          Returns the errors involved in moving control point i from the 'from' to 'to' system.
 IPoint getMoveOrigin()
          The origin of accumulated transformations used when projecting an affine transformation to a different spatial reference system.
 void getRMSError(double[] fromError, double[] toError)
          RMS (Root Mean Square) error expressed relative to the 'from' and 'to' points defining the transformation.
 double getRotation()
          The rotation angle.
 ISpatialReference getSpatialReference()
          The spatial reference in which this transformation is meaningful.
 double getXScale()
          The scale along the X axis.
 double getXTranslation()
          The translation along the X axis.
 double getYScale()
          The scale along the Y axis.
 double getYTranslation()
          The translation along the Y axis.
 boolean isReflective()
          Indicates if the transformation contains a reflection (determinant is negative).
 void move(double dx, double dy)
          Incorporates a translation factor into the transformation.
 void moveVector(ILine movementVector)
          Performs an X and Y translation defined by a 2D vector.
 void postMultiply(IAffineTransformation2D3GEN postTransform)
          Post-multiplies the transformation by another transformation.
 void preMultiply(IAffineTransformation2D3GEN preTransform)
          Pre-multiplies the transformation by another transformation.
 void project(ISpatialReference newSpatialReference)
          Moves this transformation into another spatial reference.
 void queryLinearCoefficients(int direction, double[][] params)
          Returns the linear coefficients which define the two dimensional affine transformation.
 void reset()
          Resets the tranformation.
 void rotate(double da)
          Incorporates a rotation (in radians) into the transformation.
 void scale(double dx, double dy)
          Incorporates scale factors into the transformation.
 void setLinearCoefficients(int direction, double[] params)
          Sets the linear coefficients which define the two dimensional affine transformation.
 void setMoveOrigin(IPoint origin)
          The origin of accumulated transformations used when projecting an affine transformation to a different spatial reference system.
 void setSpatialReferenceByRef(ISpatialReference sR)
          The spatial reference in which this transformation is meaningful.
 void transformMeasuresFF(int direction, double[] inMeasures, double[][] outMeasures)
          Transforms floating point measures to floating point measures (or do the inverse).
 void transformMeasuresFI(int direction, double[] inMeasures, int[][] outMeasures)
          Transforms floating point measures to integer measures (or do the inverse).
 void transformMeasuresIF(int direction, int[] inMeasures, double[][] outMeasures)
          Transforms integer measures to floating point measures (or do the inverse).
 void transformMeasuresII(int direction, int[] inMeasures, int[][] outMeasures)
          Transforms integer measures to integer measures (or do the inverse).
 void transformPointsFF(int direction, double[] inPoints, double[][] outPoints)
          Transforms floating point points to floating point points (or do the inverse).
 void transformPointsFI(int direction, double[] inPoints, int[][] outPoints)
          Transforms floating point points to integer points (or do the inverse).
 void transformPointsIF(int direction, int[] inPoints, double[][] outPoints)
          Transforms integer points to floating point points (or do the inverse).
 void transformPointsII(int direction, int[] inPoints, int[][] outPoints)
          Transforms integer points to integer points (or do the inverse).
 

Method Detail

transformMeasuresFF

void transformMeasuresFF(int direction,
                         double[] inMeasures,
                         double[][] outMeasures)
                         throws IOException,
                                AutomationException
Transforms floating point measures to floating point measures (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresFI

void transformMeasuresFI(int direction,
                         double[] inMeasures,
                         int[][] outMeasures)
                         throws IOException,
                                AutomationException
Transforms floating point measures to integer measures (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresIF

void transformMeasuresIF(int direction,
                         int[] inMeasures,
                         double[][] outMeasures)
                         throws IOException,
                                AutomationException
Transforms integer measures to floating point measures (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresII

void transformMeasuresII(int direction,
                         int[] inMeasures,
                         int[][] outMeasures)
                         throws IOException,
                                AutomationException
Transforms integer measures to integer measures (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsFF

void transformPointsFF(int direction,
                       double[] inPoints,
                       double[][] outPoints)
                       throws IOException,
                              AutomationException
Transforms floating point points to floating point points (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsFI

void transformPointsFI(int direction,
                       double[] inPoints,
                       int[][] outPoints)
                       throws IOException,
                              AutomationException
Transforms floating point points to integer points (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsIF

void transformPointsIF(int direction,
                       int[] inPoints,
                       double[][] outPoints)
                       throws IOException,
                              AutomationException
Transforms integer points to floating point points (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsII

void transformPointsII(int direction,
                       int[] inPoints,
                       int[][] outPoints)
                       throws IOException,
                              AutomationException
Transforms integer points to integer points (or do the inverse).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpatialReferenceByRef

void setSpatialReferenceByRef(ISpatialReference sR)
                              throws IOException,
                                     AutomationException
The spatial reference in which this transformation is meaningful.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
sR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference in which this transformation is meaningful.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

void reset()
           throws IOException,
                  AutomationException
Resets the tranformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineFromControlPoints

void defineFromControlPoints(IPoint[] fromPoints,
                             IPoint[] toPoints)
                             throws IOException,
                                    AutomationException
Defines the best affine transformation between two sets of points. Can be used to register paper maps on a digitizer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
fromPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
toPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineFromEnvelopes

void defineFromEnvelopes(IEnvelope from,
                         IEnvelope to)
                         throws IOException,
                                AutomationException
Defines a transformation that maps a point relative to one envelope to a similar position relative to another envelope.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
from - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
to - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineFromEnvelopesEx

void defineFromEnvelopesEx(IEnvelope from,
                           IEnvelope to,
                           IEnvelope outFrom,
                           boolean assumeFalseOrigin,
                           boolean keepAspect,
                           boolean flipIt)
                           throws IOException,
                                  AutomationException
Defines a transformation that maps a point relative to one envelope to a similar position relative to another envelope.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
from - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
to - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
outFrom - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
assumeFalseOrigin - The assumeFalseOrigin (in)
keepAspect - The keepAspect (in)
flipIt - The flipIt (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineReflection

void defineReflection(ILine l)
                      throws IOException,
                             AutomationException
Defines a transformation that can perform a reflection about the line l.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
l - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRMSError

void getRMSError(double[] fromError,
                 double[] toError)
                 throws IOException,
                        AutomationException
RMS (Root Mean Square) error expressed relative to the 'from' and 'to' points defining the transformation. These error terms are valid after using DefineFromControlPoints/Ex to define the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
fromError - The fromError (in/out: use single element array)
toError - The toError (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getControlPointError

void getControlPointError(int i,
                          double[] fromError,
                          double[] toError)
                          throws IOException,
                                 AutomationException
Returns the errors involved in moving control point i from the 'from' to 'to' system. These error terms are valid after using DefineFromControlPoints/Ex to define the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
i - The i (in)
fromError - The fromError (in/out: use single element array)
toError - The toError (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getXScale

double getXScale()
                 throws IOException,
                        AutomationException
The scale along the X axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The sx
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getYScale

double getYScale()
                 throws IOException,
                        AutomationException
The scale along the Y axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The sy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getXTranslation

double getXTranslation()
                       throws IOException,
                              AutomationException
The translation along the X axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The dx
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getYTranslation

double getYTranslation()
                       throws IOException,
                              AutomationException
The translation along the Y axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The dy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRotation

double getRotation()
                   throws IOException,
                          AutomationException
The rotation angle. Will not be able if different x/y scale factors have been incorporated into the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The r
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

scale

void scale(double dx,
           double dy)
           throws IOException,
                  AutomationException
Incorporates scale factors into the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
dx - The dx (in)
dy - The dy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMoveOrigin

void setMoveOrigin(IPoint origin)
                   throws IOException,
                          AutomationException
The origin of accumulated transformations used when projecting an affine transformation to a different spatial reference system.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVector

void moveVector(ILine movementVector)
                throws IOException,
                       AutomationException
Performs an X and Y translation defined by a 2D vector.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
movementVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move

void move(double dx,
          double dy)
          throws IOException,
                 AutomationException
Incorporates a translation factor into the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
dx - The dx (in)
dy - The dy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

void rotate(double da)
            throws IOException,
                   AutomationException
Incorporates a rotation (in radians) into the transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
da - The da (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

postMultiply

void postMultiply(IAffineTransformation2D3GEN postTransform)
                  throws IOException,
                         AutomationException
Post-multiplies the transformation by another transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
postTransform - A reference to a com.esri.arcgis.geometry.IAffineTransformation2D3GEN (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

preMultiply

void preMultiply(IAffineTransformation2D3GEN preTransform)
                 throws IOException,
                        AutomationException
Pre-multiplies the transformation by another transformation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
preTransform - A reference to a com.esri.arcgis.geometry.IAffineTransformation2D3GEN (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isReflective

boolean isReflective()
                     throws IOException,
                            AutomationException
Indicates if the transformation contains a reflection (determinant is negative).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The isReflective
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

project

void project(ISpatialReference newSpatialReference)
             throws IOException,
                    AutomationException
Moves this transformation into another spatial reference. If the transformations contains only translations, then use the MoveOrigin property to define an equivalent translation in the new spatial reference.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
newSpatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMoveOrigin

IPoint getMoveOrigin()
                     throws IOException,
                            AutomationException
The origin of accumulated transformations used when projecting an affine transformation to a different spatial reference system.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineConformalFromControlPoints

void defineConformalFromControlPoints(IPoint[] fromPoints,
                                      IPoint[] toPoints)
                                      throws IOException,
                                             AutomationException
Defines the best conformal affine transformation between two sets of points. Can be used to register paper maps on a digitizer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
fromPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
toPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryLinearCoefficients

void queryLinearCoefficients(int direction,
                             double[][] params)
                             throws IOException,
                                    AutomationException
Returns the linear coefficients which define the two dimensional affine transformation. The array size of the incoming parameters needs to be 6.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
params - The params (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLinearCoefficients

void setLinearCoefficients(int direction,
                           double[] params)
                           throws IOException,
                                  AutomationException
Sets the linear coefficients which define the two dimensional affine transformation. The array size of the incoming parameters needs to be 6.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
params - The params (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.