com.esri.arcgis.geometry
Interface IProjectiveTransformation2DGEN

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
IProjectiveTransformation2DGENProxy, ProjectiveTransformation2D

public interface IProjectiveTransformation2DGEN
extends java.io.Serializable

Provides access to members that define and manipulate projective transformations. IProjectiveTransformation2DGEN is generic version of IProjectiveTransformation.

Product Availability

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


Method Summary
 void defineFromControlPoints(IPoint[] fromPoints, IPoint[] toPoints)
          Defines the best projective transformation between two sets of points.
 void getControlPointError(int i, double[] fromError, double[] toError)
          Returns the errors involved in moving control point i from the 'from' to 'to' system.
 void getRMSError(double[] fromError, double[] toError)
          RMS (Root Mean Square) error expressed relative to the 'from' and 'to' points defining the transformation.
 ISpatialReference getSpatialReference()
          The spatial reference in which this transformation is meaningful.
 void project(ISpatialReference newSpatialReference)
          Moves this transformation into another spatial reference.
 void queryTransformationParameters(int direction, double[][] params)
          Returns the eight parameters which define the two dimensional projective transformation.
 void reset()
          Resets the tranformation.
 void setSpatialReferenceByRef(ISpatialReference sR)
          The spatial reference in which this transformation is meaningful.
 void setTransformationParameters(int direction, double[] params)
          Sets the eight parameters which define the two dimensional projective transformation.
 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

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

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

transformMeasuresFI

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

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

transformMeasuresIF

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

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

transformMeasuresII

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

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

transformPointsFF

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

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

transformPointsFI

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

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

transformPointsIF

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

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

transformPointsII

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

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

setSpatialReferenceByRef

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

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

getSpatialReference

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

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

reset

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

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

defineFromControlPoints

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

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:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRMSError

public void getRMSError(double[] fromError,
                        double[] toError)
                 throws java.io.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.

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

getControlPointError

public void getControlPointError(int i,
                                 double[] fromError,
                                 double[] toError)
                          throws java.io.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.

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

project

public void project(ISpatialReference newSpatialReference)
             throws java.io.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.

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

queryTransformationParameters

public void queryTransformationParameters(int direction,
                                          double[][] params)
                                   throws java.io.IOException,
                                          AutomationException
Returns the eight parameters which define the two dimensional projective transformation.

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

setTransformationParameters

public void setTransformationParameters(int direction,
                                        double[] params)
                                 throws java.io.IOException,
                                        AutomationException
Sets the eight parameters which define the two dimensional projective transformation. The size of the incoming parameter array needs to be 8.

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