com.esri.arcgis.datasourcesraster
Class PolynomialXform

java.lang.Object
  extended by com.esri.arcgis.datasourcesraster.PolynomialXform
All Implemented Interfaces:
IPolynomialXform, IGeodataXform, ITransformation, com.esri.arcgis.interop.RemoteObjRef, IClone, IDocumentVersionSupportGEN, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class PolynomialXform
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IPolynomialXform, ITransformation, IClone, IPersistStream, IDocumentVersionSupportGEN, IXMLSerialize, IXMLVersionSupport, Externalizable

A polynomial transform class.

Description

The PolynomialXform object performs transformation using a polynomial that is built based on the LSF (Least Square Fitting) algorithm.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
PolynomialXform()
          Constructs a PolynomialXform using ArcGIS Engine.
PolynomialXform(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
PolynomialXform thePolynomialXform = (PolynomialXform) obj;
 
Method Summary
 void applyRotation(int direction, IPoint pPivotPoint, double degree)
          Applies a rotation to the polynomial.
 void applyScale(int direction, double scaleX, double scaleY)
          Applies a scale to the polynomial.
 void applyShift(int direction, double shiftX, double shiftY)
          Applies a shift to the polynomial.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void checkResidualRMS(IPointCollection checkingsSurcePoints, IPointCollection checkingsTargetPoints, int direction, Object[] pResidual, double[] rms)
          Gets the residuals and RMS using checking points.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 void defineFromCoefficients(Object pForwardPolyCoef, Object pReversePolyCoef, int order)
          Defines a polynomial XForm from polynomial (order: 1-3) coefficients .
 void defineFromControlPoints(IPointCollection pSrcPoints, IPointCollection pTarPoints, int order)
          Defines a polynomial (order: 1-3) XForm from control points.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 Object getCoefficients(int direction)
          Gets the coefficients of the polynomial.
 void getControlPoints(IPointCollection[] ppSrcPoints, IPointCollection[] ppTarPoints)
          Gets control points used in defining the polynomial.
 IGeometryCollection getDomains()
          The domains in output space.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 int getOrder()
          The polynomial order (1-3).
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The output spatial reference after applying this transform.
 Object getSystemResidual(int direction)
          Gets the system residuals.
 double getSystemRMS(int direction)
          Gets the system RMS.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isIdentity()
          Indicates if this geodata transform is an identity transform.
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setSpatialReferenceByRef(ISpatialReference ppSpatialRefence)
          The output spatial reference after applying this transform.
 void transform(int direction, int npoints, _WKSPoint[] points)
          Transforms a set of points in a given direction.
 void transformCellsize(int direction, double[] dx, double[] dy, IEnvelope pAreaOfInterest)
          Transforms a cellsize in a given direction.
 void transformExtent(int direction, IEnvelope[] pExtent)
          Transforms an extent in a given direction.
 void transformMeasuresFF(int direction, int cMeasures, double[] inMeasures, double[] outMeasures)
          Transforms floating point measures to floating point measures (or do the inverse).
 void transformMeasuresFI(int direction, int cMeasures, double[] inMeasures, int[] outMeasures)
          Transforms floating point measures to integer measures (or do the inverse).
 void transformMeasuresIF(int direction, int cMeasures, int[] inMeasures, double[] outMeasures)
          Transforms integer measures to floating point measures (or do the inverse).
 void transformMeasuresII(int direction, int cMeasures, int[] inMeasures, int[] outMeasures)
          Transforms integer measures to integer measures (or do the inverse).
 void transformPoints(int direction, IPointCollection[] pPoints)
          Transforms a point collection in a given direction
 void transformPointsFF(int direction, int cPoints, double[] inPoints, double[] outPoints)
          Transforms floating point points to floating point points (or do the inverse).
 void transformPointsFI(int direction, int cPoints, double[] inPoints, int[] outPoints)
          Transforms floating point points to integer points (or do the inverse).
 void transformPointsIF(int direction, int cPoints, int[] inPoints, double[] outPoints)
          Transforms integer points to floating point points (or do the inverse).
 void transformPointsII(int direction, int cPoints, int[] inPoints, int[] outPoints)
          Transforms integer points to integer points (or do the inverse).
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

PolynomialXform

public PolynomialXform()
                throws IOException,
                       UnknownHostException
Constructs a PolynomialXform using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

PolynomialXform

public PolynomialXform(Object obj)
                throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
PolynomialXform thePolynomialXform = (PolynomialXform) obj;

Construct a PolynomialXform using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to PolynomialXform.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

defineFromControlPoints

public void defineFromControlPoints(IPointCollection pSrcPoints,
                                    IPointCollection pTarPoints,
                                    int order)
                             throws IOException,
                                    AutomationException
Defines a polynomial (order: 1-3) XForm from control points.

Remarks

The polynomial order can be 1,2,3 and the number of the non-correlated control points required must be at least 3, 6, and 10 respectively.

Product Availability

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

Specified by:
defineFromControlPoints in interface IPolynomialXform
Parameters:
pSrcPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
pTarPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
order - The order (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

defineFromCoefficients

public void defineFromCoefficients(Object pForwardPolyCoef,
                                   Object pReversePolyCoef,
                                   int order)
                            throws IOException,
                                   AutomationException
Defines a polynomial XForm from polynomial (order: 1-3) coefficients .

Remarks

The polynomial coefficients are a variant array of nx2 elements of double type, where n=3 for the first order, 6 for the second order and 10 for the third order.

To define a PolynomialXform to work with raster dataset, coefficients for both forward case and reverse case must be set.

You can define a PolynomialXform that performs one direction transformation, for transforming other type of data, such as forward transformation, pass Null to reverse coefficient argument.

Product Availability

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

Specified by:
defineFromCoefficients in interface IPolynomialXform
Parameters:
pForwardPolyCoef - A Variant (in)
pReversePolyCoef - A Variant (in)
order - The order (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getControlPoints

public void getControlPoints(IPointCollection[] ppSrcPoints,
                             IPointCollection[] ppTarPoints)
                      throws IOException,
                             AutomationException
Gets control points used in defining the polynomial.

Product Availability

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

Specified by:
getControlPoints in interface IPolynomialXform
Parameters:
ppSrcPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (out: use single element array)
ppTarPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOrder

public int getOrder()
             throws IOException,
                    AutomationException
The polynomial order (1-3).

Product Availability

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

Specified by:
getOrder in interface IPolynomialXform
Returns:
The order
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCoefficients

public Object getCoefficients(int direction)
                       throws IOException,
                              AutomationException
Gets the coefficients of the polynomial.

Remarks

The polynomial coefficients are in a variant array of nx2 elements of double type, where n=3 for the first order, 6 for the second order and 10 for the third order.

Product Availability

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

Specified by:
getCoefficients in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSystemResidual

public Object getSystemResidual(int direction)
                         throws IOException,
                                AutomationException
Gets the system residuals.

Remarks

The residual returned is variant array of double type, the size of the array is the number of control points used in creating the PolynomialXform.

Product Availability

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

Specified by:
getSystemResidual in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSystemRMS

public double getSystemRMS(int direction)
                    throws IOException,
                           AutomationException
Gets the system RMS.

Product Availability

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

Specified by:
getSystemRMS in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
Returns:
The rms
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkResidualRMS

public void checkResidualRMS(IPointCollection checkingsSurcePoints,
                             IPointCollection checkingsTargetPoints,
                             int direction,
                             Object[] pResidual,
                             double[] rms)
                      throws IOException,
                             AutomationException
Gets the residuals and RMS using checking points.

Remarks

Get residual on a set of user specified check points. The residual returned is a variant array of double type.

Product Availability

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

Specified by:
checkResidualRMS in interface IPolynomialXform
Parameters:
checkingsSurcePoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
checkingsTargetPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pResidual - A Variant (out: use single element array)
rms - The rms (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applyRotation

public void applyRotation(int direction,
                          IPoint pPivotPoint,
                          double degree)
                   throws IOException,
                          AutomationException
Applies a rotation to the polynomial.

Remarks

ApplyRotation method append an xform to the existing PolynomialXform. To define a rotation transformation for work with raster data using this method, you must define both forward and inverse transformation.

For example, to define a rotation of 45 degree unclockwise, you need to call

pPolynomialXform.ApplyRotate TransformationForward, 45

pPolynomialXform.ApplyRotate TransformationReverse, -45

Product Availability

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

Specified by:
applyRotation in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pPivotPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
degree - The degree (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applyShift

public void applyShift(int direction,
                       double shiftX,
                       double shiftY)
                throws IOException,
                       AutomationException
Applies a shift to the polynomial.

Remarks

ApplyShift method append an xform to the existing PolynomialXform. To define a shift transformation to work with raster data using this method, you must define both forward and inverse transformations.

For example, to define a shift transformation, you need to call

pPolynomialXform.ApplyShift TransformationForward, 10

pPolynomialXform.ApplyShift TransformationReverse, -10

Product Availability

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

Specified by:
applyShift in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
shiftX - The shiftX (in)
shiftY - The shiftY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applyScale

public void applyScale(int direction,
                       double scaleX,
                       double scaleY)
                throws IOException,
                       AutomationException
Applies a scale to the polynomial.

Remarks

ApplyScale method appends an xform to the existing PolynomialXform. To define an scale transformation to work with raster data using this method, you must define both forward and inverse transformations.

For example, to define a scale transformation, you need to call

pPolynomialXform.ApplyScale TransformationForward, 10

pPolynomialXform.ApplyScale TransformationReverse, 1/10

Product Availability

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

Specified by:
applyScale in interface IPolynomialXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
scaleX - The scaleX (in)
scaleY - The scaleY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The output spatial reference after applying this transform.

Product Availability

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

Specified by:
getSpatialReference in interface IGeodataXform
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.

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference ppSpatialRefence)
                              throws IOException,
                                     AutomationException
The output spatial reference after applying this transform.

Product Availability

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

Specified by:
setSpatialReferenceByRef in interface IGeodataXform
Parameters:
ppSpatialRefence - 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.

getDomains

public IGeometryCollection getDomains()
                               throws IOException,
                                      AutomationException
The domains in output space.

Description

The returned domains should a single polygon geometry or a collection of polygons.

Product Availability

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

Specified by:
getDomains in interface IGeodataXform
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentity

public boolean isIdentity()
                   throws IOException,
                          AutomationException
Indicates if this geodata transform is an identity transform.

Product Availability

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

Specified by:
isIdentity in interface IGeodataXform
Returns:
The pIsIdentity
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform

public void transform(int direction,
                      int npoints,
                      _WKSPoint[] points)
               throws IOException,
                      AutomationException
Transforms a set of points in a given direction.

Product Availability

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

Specified by:
transform in interface IGeodataXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
npoints - The npoints (in)
points - A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformCellsize

public void transformCellsize(int direction,
                              double[] dx,
                              double[] dy,
                              IEnvelope pAreaOfInterest)
                       throws IOException,
                              AutomationException
Transforms a cellsize in a given direction.

Product Availability

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

Specified by:
transformCellsize in interface IGeodataXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
dx - The dx (in/out: use single element array)
dy - The dy (in/out: use single element array)
pAreaOfInterest - 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.

transformExtent

public void transformExtent(int direction,
                            IEnvelope[] pExtent)
                     throws IOException,
                            AutomationException
Transforms an extent in a given direction.

Product Availability

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

Specified by:
transformExtent in interface IGeodataXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPoints

public void transformPoints(int direction,
                            IPointCollection[] pPoints)
                     throws IOException,
                            AutomationException
Transforms a point collection in a given direction

Product Availability

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

Specified by:
transformPoints in interface IGeodataXform
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresFF

public void transformMeasuresFF(int direction,
                                int cMeasures,
                                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.

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformMeasuresFF in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cMeasures - The cMeasures (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresFI

public void transformMeasuresFI(int direction,
                                int cMeasures,
                                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.

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformMeasuresFI in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cMeasures - The cMeasures (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresIF

public void transformMeasuresIF(int direction,
                                int cMeasures,
                                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.

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformMeasuresIF in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cMeasures - The cMeasures (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformMeasuresII

public void transformMeasuresII(int direction,
                                int cMeasures,
                                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.

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformMeasuresII in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cMeasures - The cMeasures (in)
inMeasures - The inMeasures (in)
outMeasures - The outMeasures (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsFF

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

Remarks

The cPoints parameter is the number of points you wish to transform. inPoints and outPoints are one-dimensional arrays so you must interleave coordinate pairs into the arrays.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformPointsFF in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cPoints - The cPoints (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsFI

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

Remarks

The cPoints parameter is the number of points you wish to transform. inPoints and outPoints are one-dimensional arrays so you must interleave coordinate pairs into the arrays.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformPointsFI in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cPoints - The cPoints (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsIF

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

Remarks

The cPoints parameter is the number of points you wish to transform. inPoints and outPoints are one-dimensional arrays so you must interleave coordinate pairs into the arrays.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformPointsIF in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cPoints - The cPoints (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPointsII

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

Remarks

The cPoints parameter is the number of points you wish to transform. inPoints and outPoints are one-dimensional arrays so you must interleave coordinate pairs into the arrays.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformPointsII in interface ITransformation
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
cPoints - The cPoints (in)
inPoints - The inPoints (in)
outPoints - The outPoints (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

Specified by:
esri_clone in interface IClone
Returns:
A reference to a com.esri.arcgis.system.IClone
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
assign in interface IClone
Parameters:
src - A reference to a com.esri.arcgis.system.IClone (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Indicates if the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Indicates if the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
serialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

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

Specified by:
getMinNamespaceSupported in interface IXMLVersionSupport
Returns:
The namespaceURI
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException