com.esri.arcgis.geometry
Class Ring

java.lang.Object
  extended by com.esri.arcgis.geometry.Ring
All Implemented Interfaces:
IArea, IConstructPath, ICurve, ICurve3D, IGeometry, IPath, IPointCollection, IPointCollection2, IPointCollection3, IPointCollection4, IRing, IRing2, ISegmentCollection, ITransform2D, ITransform3D, com.esri.arcgis.interop.RemoteObjRef, IClone, ISupportErrorInfo, IXMLSerialize, java.io.Serializable

public class Ring
extends java.lang.Object
implements com.esri.arcgis.interop.RemoteObjRef, IPointCollection, IPointCollection4, IGeometry, ISegmentCollection, IArea, ICurve, IPath, IRing, IRing2, IConstructPath, ISupportErrorInfo, IClone, ITransform2D, ITransform3D, IXMLSerialize, ICurve3D

COM Class 'Ring'. Generated 3/19/2015 1:20:44 PM from 'C:\ArcGIS\COM\esriGeometry.olb'

Description 'An area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex.' Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject = False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.geometry.IPointCollection4
IID, IID773f7279_aefb_11d5_8112_00c04fa0adf8, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPointCollection3
IIDaf10d3e8_f2f8_49ec_a6c5_7018099eeaed
 
Fields inherited from interface com.esri.arcgis.geometry.IPointCollection2
IIDf643a012_c208_48db_b2d6_565f52b55c8e
 
Fields inherited from interface com.esri.arcgis.geometry.IPointCollection
IIDde08a214_4fc2_11d1_834e_0000f8775be9
 
Fields inherited from interface com.esri.arcgis.geometry.ISegmentCollection
IID, IIDb3fe6b20_4fc2_11d1_834e_0000f8775be9, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IArea
IID, IID6039e192_4cc8_11d1_834e_0000f8775be9, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRing2
IID, IID6011fa75_0c4a_11d6_9fa9_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRing
IID592121ae_4cc8_11d1_834e_0000f8775be9
 
Fields inherited from interface com.esri.arcgis.geometry.IPath
IID0a82061c_95cb_11d0_82f7_0000f8034032
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve
IID1b077916_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometry
IID1b07790d_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.IConstructPath
IID, IIDf4fd2ec0_990a_11d1_bc7d_0000f875bcce, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.ISupportErrorInfo
IID, IIDdf0b3d60_548f_101b_8e65_08002b2bd119, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IClone
IID, IID9bff8aeb_e415_11d0_943c_080009eebecb, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ITransform2D
IID, IID3be78ad0_886e_11d1_bc78_0000f875bcce, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ITransform3D
IID, IID9414e949_ffa0_11d3_9f56_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IXMLSerialize
IID, IIDc8545045_6615_48e3_af27_52a0e5fc35e2, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve3D
IID, IIDac4d3da2_4b76_48dd_b393_2468452ca30d, xxDummy
 
Constructor Summary
Ring()
          Constructs a Ring using ArcGIS Engine.
Ring(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Ring theRing = (Ring) obj;
 
Method Summary
 void addPoint(IPoint inPoint, java.lang.Object before, java.lang.Object after)
          Adds a vertex to a Path, Ring, Polyline, or Polygon; or adds a reference to the input point to a Multipoint, TriangleFan, or TriangleStrip.
 void addPointCollection(IPointCollection newPoints)
          Adds copies of points in the input point collection to this Path, Ring, Polyline, or Polygon; or adds references to the points in the collection to this Multipoint, TriangleFan, or TriangleStrip.
 void addPoints(int count, IPoint newPoints)
          Adds copies of the input points as vertices to this Path, Ring, Polyline, or Polygon; or references to the input points to this Multipoint, TriangleFan, or TriangleStrip.
 void addSegment(ISegment inSegment, java.lang.Object before, java.lang.Object after)
          Adds a reference to the input segment at the end, or before or after a specified index.
 void addSegmentCollection(ISegmentCollection segments)
          Adds references to the segments from the specified segment collection.
 void addSegments(int count, ISegment newSegments)
          Adds references to segments.
 void addWKSPointZs(int count, _WKSPointZ pointStructures)
          Adds vertices/points to this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void close()
          Makes sure that this ring is closed by adding a line segment between the ring's 'to' and 'from' points if necessary.
 void constructRigidStretch(IPath srcPath, int stretchStartIndex, int startAnchor, int endAnchor, IPoint stretchEnd)
          Constructs a scaled, rotated version of srcPath.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(java.lang.Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void generalize(double maxAllowableOffset)
          Generalizes this path using the Douglas-Poiker algorithm.
 void geoNormalize()
          Shifts longitudes, if need be, into a continuous range of 360 degrees.
 void geoNormalizeFromLongitude(double longitude)
          Normalizes longitudes into a continuous range containing the longitude.
 double getArea()
          The area.
 IPoint getCentroid()
          The center of gravity (centroid).
static java.lang.String getClsid()
          getClsid.
 int getDimension()
          The topological dimension of this geometry.
 IEnumCurve getEnumCurve()
          A new curve enumerator for this segment collection.
 IEnumSegment getEnumSegments()
          A new enumerator for this segment collection.
 IEnumVertex getEnumVertices()
          A new enumerator for this point collection.
 IEnvelope getEnvelope()
          Creates a copy of this geometry's envelope and returns it.
 IPoint getFromPoint()
          The 'from' point of the curve.
 int getGeometryType()
          The type of this geometry.
 IEnumSegment getIndexedEnumSegments(IGeometry queryGeometry)
          A new indexed segment enumerator for this segment collection.
 IEnumVertex getIndexedEnumVertices(IGeometry queryGeometry)
          An indexed vertex enumerator for this point collection.
 com.esri.arcgis.interop.Dispatch getJintegraDispatch()
          Deprecated. Internal use only.
 IPoint getLabelPoint()
          A point guaranteed to be inside this area.
 double getLength()
          The length of the curve.
 double getLength3D()
          The length of the curve.
 IPoint getPoint(int i)
          A copy of the ith vertex of a Path, Ring, Polyline, or Polygon; or a reference to the ith point of a Multipoint, TriangleFan, or TriangleStrip.
 int getPointCount()
          The number of points in the collection.
 void getPoints(int index, int count, IPoint[] points)
          Populates an array with references to points in the Multipoint.
 ISegment getSegment(int i)
          A reference to the ith segment.
 int getSegmentCount()
          The number of segments.
 ISpatialReference getSpatialReference()
          The spatial reference associated with this geometry.
 void getSubcurve(double fromDistance, double toDistance, boolean asRatio, ICurve[] outSubcurve)
          Extracts a portion of this curve into a new curve.
 void getSubcurve3D(double fromDistance, double toDistance, boolean bAsRatio, ICurve3D[] ppOutSubCurve)
          Extracts a portion of this curve into a new curve.
 ICurve getSubcurveEx(double fromDistance, double toDistance, boolean asRatio, boolean isCCW, boolean useRingOrientation)
          Extracts a portion of this curve into a new curve.
 IPoint getToPoint()
          The 'to' point of the curve.
 int hashCode()
          the hashcode for this object
 void hasNonLinearSegments(boolean[] nonLinearSegments)
          Indicates if this segment collection contains segments other than lines.
 void insertPointCollection(int index, IPointCollection newPoints)
          Inserts copies of points, from the input point collection, as vertices into this Path, Ring, Polyline, or Polygon; or references to points in the input point collection into this Multipoint, TriangleFan, or TriangleStrip.
 void insertPoints(int index, int count, IPoint newPoints)
          Inserts copies of the input points as vertices into a Path, Ring, Polyline, or Polygon; or references to the input points into a Multipoint, TriangleFan, or TriangleStrip.
 void insertSegmentCollection(int index, ISegmentCollection newSegments)
          Inserts references to the segments in the input collectoin.
 void insertSegmentCollectionEx(int index, int start, int count, ISegmentCollection newSegments)
          Inserts references to some of the segments from the input collection.
 void insertSegments(int index, int count, ISegment newSegments)
          Inserts references to the input segments.
 void insertWKSPointZs(int index, int count, _WKSPointZ newPoints)
          Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isClosed()
          Indicates if 'from' and 'to' points (of each part) are identical.
 boolean isClosed3D()
          Indicates if 'from' and 'to' points (of each part) are identical.
 boolean isEmpty()
          Indicates whether this geometry contains any points.
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isExterior()
          Indicates if this ring can function as the exterior ring in a polygon (ring orientation is clockwise, area > 0).
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 void move(double dx, double dy)
          Moves dx units horizontally and dy units vertically.
 void move3D(double dx, double dy, double dz)
          Moves the object by dx, dy and dz along the x, y, and z axes respectively.
 void moveVector(ILine v)
          Moves a direction and distance v.
 void moveVector3D(IVector3D v)
          Moves the object by an offset defined by a 3D vector.
 void project(ISpatialReference newReferenceSystem)
          Projects this geometry into a new spatial reference.
 IGeometry projectToPlane(IPoint planarOrigin, IVector3D planarPositiveX, IVector3D planarNorm)
          Generates a polygon footprint for the object in an arbitrary plane.
 void queryCentroid(IPoint center)
          Copies the centroid of this area to the specified point.
 void queryChordLengthTangents(int pointIndex, IPoint prevTangent, boolean[] prevSetByUser, IPoint nextTangent, boolean[] nextSetByUser)
          Returns tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; and whether they have been set by user or by smoothing process.
 void queryEnvelope(IEnvelope outEnvelope)
          Copies this geometry's envelope properties into the specified envelope.
 void queryFromPoint(IPoint from)
          Copies this curve's 'from' point to the input point.
 void queryLabelPoint(IPoint labelPoint)
          Copies to the input point a point guaranteed to be inside this area.
 void queryNormal(int extension, double distanceAlongCurve, boolean asRatio, double length, ILine normal)
          Constructs a line normal to a curve from a point at a specified distance along the curve.
 void queryPoint(int extension, double distanceAlongCurve, boolean asRatio, IPoint outPoint)
          Copies to outPoint the properties of a point on the curve at a specified distance from the beginning of the curve.
 void queryPoint(int index, IPoint point)
          Queries for a point in the PointCollection at given index.
 void queryPoint3D(int extension, double distanceAlongCurve, boolean bAsRatio, IPoint pOutPoint)
          Copies to outPoint the properties of a point on the curve at a specified distance from the beginning of the curve.
 void queryPointAndDistance(int extension, IPoint inPoint, boolean asRatio, IPoint outPoint, double[] distanceAlongCurve, double[] distanceFromCurve, boolean[] bRightSide)
          Finds the point on the curve closest to inPoint, then copies that point to outPoint; optionally calculates related items.
 void queryPointAndDistance3D(int extension, IPoint pInPoint, boolean bAsRatio, IPoint pOutPoint, double[] pDistanceAlongCurve, double[] pDistanceFromCurve)
          Finds the point on the curve closest to inPoint, then copies that point to outPoint; optionally calculates related items.
 void queryPoints(int index, int count, IPoint points)
          Copies some points to an existing array of points.
 void querySegments(int index, int count, ISegment[] segments)
          Returns references to some of the input segments.
 void queryTangent(int extension, double distanceAlongCurve, boolean asRatio, double length, ILine tangent)
          Constructs a line tangent to a curve from a point at a specified distance along the curve.
 void queryToPoint(IPoint to)
          Copies the curve's 'to' point into the input point.
 void queryWKSPointZs(int index, int count, _WKSPointZ[] pointStructures)
          Copies vertices/points coordinates to the array of point structures.
 void release()
          Release a Ring.
 void removePoints(int index, int count)
          Removes vertices from a Path, Ring, Polyline, or Polygon, or references to points from a Multipoint, TriangleFan, or TriangleStrip.
 void removeSegments(int index, int count, boolean closeGap)
          Removes references to some segments.
 void replacePointCollection(int index, int goingAway, IPointCollection newPoints)
          Replaces vertices/points within a PointCollection.
 void replacePoints(int index, int comingIn, int goingAway, IPoint newPoints)
          Replaces vertices/points within a PointCollection.
 void replaceSegmentCollection(int index, int goingAway, ISegmentCollection newSegments)
          Remove and inserts some segments.
 void replaceSegments(int index, int comingIn, int goingAway, ISegment newSegments)
          Removes and inserts from segments.
 boolean reshape(IPath reshapeSource)
          Modifies this ring by replacing some of its segments with some segments from reshapeSource.
 void reshapeEx(IPath reshapeSource, IGeometry[] leftResult, IGeometry[] rightResult)
          Creates two new polygons by using segments from the ring and from reshapeSource.
 void reverseOrientation()
          Reverses the parameterization of the curve ('from' point becomes 'to' point, first segment becomes last segment, etc).
 void rotate(IPoint origin, double rotationAngle)
          Rotates about the specified origin point.
 void rotateVector3D(IVector3D axis, double rotationAngle)
          Rotates the object about axis defined by the specified vector through an angle measured in radians.
 void scale(IPoint origin, double sx, double sy)
          Scales about the specified origin using seperate horizonal and vertical scales.
 void scale3D(IPoint origin, double sx, double sy, double sz)
          Scales the object about the specified origin point.
 void segmentsChanged()
          Informs the segment collection that any cached values that it may be maintaining (envelope, length, etc.) are invalid.
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setChordLengthTangents(int pointIndex, IPoint prevTangent, IPoint nextTangent)
          Sets tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; if either is Nothing, they will be set by smoothing process.
 void setCircle(IPoint cp, double circleRadius)
          Defines this path, ring, polyline or polygon to contain a single circular arc segment that is closed.
 void setEmpty()
          Removes all points from this geometry.
 void setFromPoint(IPoint from)
          The 'from' point of the curve.
 void setPointCollection(IPointCollection newPoints)
          Replaces all vertices of this Path, Ring, Polyline, or Polygon with copies of the points in the input collection; or all points of this Multipoint, TriangleFan, or TriangleStrip with references to points from the input collection.
 void setPoints(int count, IPoint newPoints)
          Replaces all existing vertices of this Path, Ring, Polyline, or Polygon with copies of the input points; or all existing points of this Multipoint, TriangleFan, or TriangleStrip with references to the input points (for C++ and VB users only).
 void setRectangle(IEnvelope inEnvelope)
          Defines this path, ring, polyline or polygon to have four line segments in the same positions as the sides of the input envelope.
 void setSegmentCollection(ISegmentCollection newSegments)
          Replaces all segments with references to segments from the input collection.
 void setSegments(int count, ISegment newSegments)
          Replaces all segments with references to the input segments.
 void setSpatialReferenceByRef(ISpatialReference spatialRef)
          The spatial reference associated with this geometry.
 void setToPoint(IPoint to)
          The 'to' point of the curve.
 void setWKSPointZs(int count, _WKSPointZ pointStructures)
          Replaces all vertices/points of this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch with new ones.
 void smooth(double maxAllowableOffset)
          Converts this path into a smooth approximation of itself that contains only Bezier curve segments.
 void smoothLocal(int vertexIndex)
          Replaces up to four segments (two on each of the specified vertex index) with bezier curves.
 void snapToSpatialReference()
          Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 void transform3D(int direction, ITransformation3D transformation)
          Applies an arbitrary 3D transformation.
 void updatePoint(int i, IPoint p)
          Changes the ith vertex or point to be a copy of the input point.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ring

public Ring()
     throws java.io.IOException,
            java.net.UnknownHostException
Constructs a Ring using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

Ring

public Ring(java.lang.Object obj)
     throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Ring theRing = (Ring) obj;

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

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

getClsid

public static java.lang.String getClsid()
getClsid.


equals

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

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class java.lang.Object

getJintegraDispatch

public com.esri.arcgis.interop.Dispatch getJintegraDispatch()
Deprecated. Internal use only.

Specified by:
getJintegraDispatch in interface com.esri.arcgis.interop.RemoteObjRef

release

public void release()
Release a Ring.

Specified by:
release in interface com.esri.arcgis.interop.RemoteObjRef

getPointCount

public int getPointCount()
                  throws java.io.IOException,
                         AutomationException
The number of points in the collection.

Specified by:
getPointCount in interface IPointCollection
Returns:
The cPoints
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPoint

public IPoint getPoint(int i)
                throws java.io.IOException,
                       AutomationException
A copy of the ith vertex of a Path, Ring, Polyline, or Polygon; or a reference to the ith point of a Multipoint, TriangleFan, or TriangleStrip.

Specified by:
getPoint in interface IPointCollection
Parameters:
i - The i (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPoint

public void addPoint(IPoint inPoint,
                     java.lang.Object before,
                     java.lang.Object after)
              throws java.io.IOException,
                     AutomationException
Adds a vertex to a Path, Ring, Polyline, or Polygon; or adds a reference to the input point to a Multipoint, TriangleFan, or TriangleStrip.

Specified by:
addPoint in interface IPointCollection
Parameters:
inPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
before - A Variant (in, optional, pass null if not required)
after - A Variant (in, optional, pass null if not required)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updatePoint

public void updatePoint(int i,
                        IPoint p)
                 throws java.io.IOException,
                        AutomationException
Changes the ith vertex or point to be a copy of the input point.

Specified by:
updatePoint in interface IPointCollection
Parameters:
i - The i (in)
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoints

public void queryPoints(int index,
                        int count,
                        IPoint points)
                 throws java.io.IOException,
                        AutomationException
Copies some points to an existing array of points. This method is intended for internal use only.

Specified by:
queryPoints in interface IPointCollection
Parameters:
index - The index (in)
count - The count (in)
points - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertPoints

public void insertPoints(int index,
                         int count,
                         IPoint newPoints)
                  throws java.io.IOException,
                         AutomationException
Inserts copies of the input points as vertices into a Path, Ring, Polyline, or Polygon; or references to the input points into a Multipoint, TriangleFan, or TriangleStrip. This method is intended for internal use only.

Specified by:
insertPoints in interface IPointCollection
Parameters:
index - The index (in)
count - The count (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertPointCollection

public void insertPointCollection(int index,
                                  IPointCollection newPoints)
                           throws java.io.IOException,
                                  AutomationException
Inserts copies of points, from the input point collection, as vertices into this Path, Ring, Polyline, or Polygon; or references to points in the input point collection into this Multipoint, TriangleFan, or TriangleStrip.

Specified by:
insertPointCollection in interface IPointCollection
Parameters:
index - The index (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPoints

public void addPoints(int count,
                      IPoint newPoints)
               throws java.io.IOException,
                      AutomationException
Adds copies of the input points as vertices to this Path, Ring, Polyline, or Polygon; or references to the input points to this Multipoint, TriangleFan, or TriangleStrip. This method is intended for internal use only.

Specified by:
addPoints in interface IPointCollection
Parameters:
count - The count (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPointCollection

public void addPointCollection(IPointCollection newPoints)
                        throws java.io.IOException,
                               AutomationException
Adds copies of points in the input point collection to this Path, Ring, Polyline, or Polygon; or adds references to the points in the collection to this Multipoint, TriangleFan, or TriangleStrip.

Specified by:
addPointCollection in interface IPointCollection
Parameters:
newPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPoints

public void setPoints(int count,
                      IPoint newPoints)
               throws java.io.IOException,
                      AutomationException
Replaces all existing vertices of this Path, Ring, Polyline, or Polygon with copies of the input points; or all existing points of this Multipoint, TriangleFan, or TriangleStrip with references to the input points (for C++ and VB users only).

Specified by:
setPoints in interface IPointCollection
Parameters:
count - The count (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPointCollection

public void setPointCollection(IPointCollection newPoints)
                        throws java.io.IOException,
                               AutomationException
Replaces all vertices of this Path, Ring, Polyline, or Polygon with copies of the points in the input collection; or all points of this Multipoint, TriangleFan, or TriangleStrip with references to points from the input collection.

Specified by:
setPointCollection in interface IPointCollection
Parameters:
newPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removePoints

public void removePoints(int index,
                         int count)
                  throws java.io.IOException,
                         AutomationException
Removes vertices from a Path, Ring, Polyline, or Polygon, or references to points from a Multipoint, TriangleFan, or TriangleStrip.

Specified by:
removePoints in interface IPointCollection
Parameters:
index - The index (in)
count - The count (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnumVertices

public IEnumVertex getEnumVertices()
                            throws java.io.IOException,
                                   AutomationException
A new enumerator for this point collection.

Specified by:
getEnumVertices in interface IPointCollection
Returns:
A reference to a com.esri.arcgis.geometry.IEnumVertex
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replacePoints

public void replacePoints(int index,
                          int comingIn,
                          int goingAway,
                          IPoint newPoints)
                   throws java.io.IOException,
                          AutomationException
Replaces vertices/points within a PointCollection.

Specified by:
replacePoints in interface IPointCollection
Parameters:
index - The index (in)
comingIn - The comingIn (in)
goingAway - The goingAway (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replacePointCollection

public void replacePointCollection(int index,
                                   int goingAway,
                                   IPointCollection newPoints)
                            throws java.io.IOException,
                                   AutomationException
Replaces vertices/points within a PointCollection.

Specified by:
replacePointCollection in interface IPointCollection
Parameters:
index - The index (in)
goingAway - The goingAway (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoint

public void queryPoint(int index,
                       IPoint point)
                throws java.io.IOException,
                       AutomationException
Queries for a point in the PointCollection at given index.

Specified by:
queryPoint in interface IPointCollection
Parameters:
index - The index (in)
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addWKSPointZs

public void addWKSPointZs(int count,
                          _WKSPointZ pointStructures)
                   throws java.io.IOException,
                          AutomationException
Adds vertices/points to this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch.

Specified by:
addWKSPointZs in interface IPointCollection4
Parameters:
count - The count (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWKSPointZs

public void setWKSPointZs(int count,
                          _WKSPointZ pointStructures)
                   throws java.io.IOException,
                          AutomationException
Replaces all vertices/points of this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch with new ones.

Specified by:
setWKSPointZs in interface IPointCollection4
Parameters:
count - The count (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSPointZs

public void queryWKSPointZs(int index,
                            int count,
                            _WKSPointZ[] pointStructures)
                     throws java.io.IOException,
                            AutomationException
Copies vertices/points coordinates to the array of point structures.

Specified by:
queryWKSPointZs in interface IPointCollection4
Parameters:
index - The index (in)
count - The count (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertWKSPointZs

public void insertWKSPointZs(int index,
                             int count,
                             _WKSPointZ newPoints)
                      throws java.io.IOException,
                             AutomationException
Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, TriangleFan, Triangles, TriangleStrip, or MultiPatch.

Specified by:
insertWKSPointZs in interface IPointCollection4
Parameters:
index - The index (in)
count - The count (in)
newPoints - A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIndexedEnumVertices

public IEnumVertex getIndexedEnumVertices(IGeometry queryGeometry)
                                   throws java.io.IOException,
                                          AutomationException
An indexed vertex enumerator for this point collection.

Specified by:
getIndexedEnumVertices in interface IPointCollection3
Parameters:
queryGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumVertex
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPoints

public void getPoints(int index,
                      int count,
                      IPoint[] points)
               throws java.io.IOException,
                      AutomationException
Populates an array with references to points in the Multipoint. The QueryPoints method on IPointCollection makes copies of the points. This method is intended for internal use only.

Specified by:
getPoints in interface IPointCollection2
Parameters:
index - The index (in)
count - The count (in)
points - A reference to a com.esri.arcgis.geometry.IPoint (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryType

public int getGeometryType()
                    throws java.io.IOException,
                           AutomationException
The type of this geometry.

Specified by:
getGeometryType in interface IGeometry
Returns:
A com.esri.arcgis.geometry.esriGeometryType constant
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDimension

public int getDimension()
                 throws java.io.IOException,
                        AutomationException
The topological dimension of this geometry.

Specified by:
getDimension in interface IGeometry
Returns:
A com.esri.arcgis.geometry.esriGeometryDimension constant
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 associated with this geometry.

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

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialRef)
                              throws java.io.IOException,
                                     AutomationException
The spatial reference associated with this geometry.

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

isEmpty

public boolean isEmpty()
                throws java.io.IOException,
                       AutomationException
Indicates whether this geometry contains any points.

Specified by:
isEmpty in interface IGeometry
Returns:
The isEmpty
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEmpty

public void setEmpty()
              throws java.io.IOException,
                     AutomationException
Removes all points from this geometry.

Specified by:
setEmpty in interface IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryEnvelope

public void queryEnvelope(IEnvelope outEnvelope)
                   throws java.io.IOException,
                          AutomationException
Copies this geometry's envelope properties into the specified envelope.

Specified by:
queryEnvelope in interface IGeometry
Parameters:
outEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnvelope

public IEnvelope getEnvelope()
                      throws java.io.IOException,
                             AutomationException
Creates a copy of this geometry's envelope and returns it.

Specified by:
getEnvelope in interface IGeometry
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

project

public void project(ISpatialReference newReferenceSystem)
             throws java.io.IOException,
                    AutomationException
Projects this geometry into a new spatial reference.

Specified by:
project in interface IGeometry
Parameters:
newReferenceSystem - 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.

snapToSpatialReference

public void snapToSpatialReference()
                            throws java.io.IOException,
                                   AutomationException
Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.

Specified by:
snapToSpatialReference in interface IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

geoNormalize

public void geoNormalize()
                  throws java.io.IOException,
                         AutomationException
Shifts longitudes, if need be, into a continuous range of 360 degrees.

Specified by:
geoNormalize in interface IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

geoNormalizeFromLongitude

public void geoNormalizeFromLongitude(double longitude)
                               throws java.io.IOException,
                                      AutomationException
Normalizes longitudes into a continuous range containing the longitude. This method is obsolete.

Specified by:
geoNormalizeFromLongitude in interface IGeometry
Parameters:
longitude - The longitude (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSegmentCount

public int getSegmentCount()
                    throws java.io.IOException,
                           AutomationException
The number of segments.

Specified by:
getSegmentCount in interface ISegmentCollection
Returns:
The cSegments
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSegment

public ISegment getSegment(int i)
                    throws java.io.IOException,
                           AutomationException
A reference to the ith segment.

Specified by:
getSegment in interface ISegmentCollection
Parameters:
i - The i (in)
Returns:
A reference to a com.esri.arcgis.geometry.ISegment
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSegment

public void addSegment(ISegment inSegment,
                       java.lang.Object before,
                       java.lang.Object after)
                throws java.io.IOException,
                       AutomationException
Adds a reference to the input segment at the end, or before or after a specified index.

Specified by:
addSegment in interface ISegmentCollection
Parameters:
inSegment - A reference to a com.esri.arcgis.geometry.ISegment (in)
before - A Variant (in, optional, pass null if not required)
after - A Variant (in, optional, pass null if not required)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

querySegments

public void querySegments(int index,
                          int count,
                          ISegment[] segments)
                   throws java.io.IOException,
                          AutomationException
Returns references to some of the input segments. This method is intended for internal use only.

Specified by:
querySegments in interface ISegmentCollection
Parameters:
index - The index (in)
count - The count (in)
segments - A reference to a com.esri.arcgis.geometry.ISegment (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSegments

public void addSegments(int count,
                        ISegment newSegments)
                 throws java.io.IOException,
                        AutomationException
Adds references to segments. This method is intended for internal use only.

Specified by:
addSegments in interface ISegmentCollection
Parameters:
count - The count (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSegmentCollection

public void addSegmentCollection(ISegmentCollection segments)
                          throws java.io.IOException,
                                 AutomationException
Adds references to the segments from the specified segment collection.

Specified by:
addSegmentCollection in interface ISegmentCollection
Parameters:
segments - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertSegments

public void insertSegments(int index,
                           int count,
                           ISegment newSegments)
                    throws java.io.IOException,
                           AutomationException
Inserts references to the input segments. This method is intended for internal use only.

Specified by:
insertSegments in interface ISegmentCollection
Parameters:
index - The index (in)
count - The count (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertSegmentCollection

public void insertSegmentCollection(int index,
                                    ISegmentCollection newSegments)
                             throws java.io.IOException,
                                    AutomationException
Inserts references to the segments in the input collectoin.

Specified by:
insertSegmentCollection in interface ISegmentCollection
Parameters:
index - The index (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertSegmentCollectionEx

public void insertSegmentCollectionEx(int index,
                                      int start,
                                      int count,
                                      ISegmentCollection newSegments)
                               throws java.io.IOException,
                                      AutomationException
Inserts references to some of the segments from the input collection.

Specified by:
insertSegmentCollectionEx in interface ISegmentCollection
Parameters:
index - The index (in)
start - The start (in)
count - The count (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replaceSegments

public void replaceSegments(int index,
                            int comingIn,
                            int goingAway,
                            ISegment newSegments)
                     throws java.io.IOException,
                            AutomationException
Removes and inserts from segments. This method is intended for internal use only.

Specified by:
replaceSegments in interface ISegmentCollection
Parameters:
index - The index (in)
comingIn - The comingIn (in)
goingAway - The goingAway (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replaceSegmentCollection

public void replaceSegmentCollection(int index,
                                     int goingAway,
                                     ISegmentCollection newSegments)
                              throws java.io.IOException,
                                     AutomationException
Remove and inserts some segments.

Specified by:
replaceSegmentCollection in interface ISegmentCollection
Parameters:
index - The index (in)
goingAway - The goingAway (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeSegments

public void removeSegments(int index,
                           int count,
                           boolean closeGap)
                    throws java.io.IOException,
                           AutomationException
Removes references to some segments. If closeGap is TRUE, then any remaining internal gap in the path, ring, polyline or polygon is connected with a single line segment.

Specified by:
removeSegments in interface ISegmentCollection
Parameters:
index - The index (in)
count - The count (in)
closeGap - The closeGap (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCircle

public void setCircle(IPoint cp,
                      double circleRadius)
               throws java.io.IOException,
                      AutomationException
Defines this path, ring, polyline or polygon to contain a single circular arc segment that is closed.

Specified by:
setCircle in interface ISegmentCollection
Parameters:
cp - A reference to a com.esri.arcgis.geometry.IPoint (in)
circleRadius - The circleRadius (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRectangle

public void setRectangle(IEnvelope inEnvelope)
                  throws java.io.IOException,
                         AutomationException
Defines this path, ring, polyline or polygon to have four line segments in the same positions as the sides of the input envelope.

Specified by:
setRectangle in interface ISegmentCollection
Parameters:
inEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSegments

public void setSegments(int count,
                        ISegment newSegments)
                 throws java.io.IOException,
                        AutomationException
Replaces all segments with references to the input segments. This method is intended for internal use only.

Specified by:
setSegments in interface ISegmentCollection
Parameters:
count - The count (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSegmentCollection

public void setSegmentCollection(ISegmentCollection newSegments)
                          throws java.io.IOException,
                                 AutomationException
Replaces all segments with references to segments from the input collection.

Specified by:
setSegmentCollection in interface ISegmentCollection
Parameters:
newSegments - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnumSegments

public IEnumSegment getEnumSegments()
                             throws java.io.IOException,
                                    AutomationException
A new enumerator for this segment collection.

Specified by:
getEnumSegments in interface ISegmentCollection
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSegment
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEnumCurve

public IEnumCurve getEnumCurve()
                        throws java.io.IOException,
                               AutomationException
A new curve enumerator for this segment collection.

Specified by:
getEnumCurve in interface ISegmentCollection
Returns:
A reference to a com.esri.arcgis.geometry.IEnumCurve
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hasNonLinearSegments

public void hasNonLinearSegments(boolean[] nonLinearSegments)
                          throws java.io.IOException,
                                 AutomationException
Indicates if this segment collection contains segments other than lines.

Specified by:
hasNonLinearSegments in interface ISegmentCollection
Parameters:
nonLinearSegments - The nonLinearSegments (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIndexedEnumSegments

public IEnumSegment getIndexedEnumSegments(IGeometry queryGeometry)
                                    throws java.io.IOException,
                                           AutomationException
A new indexed segment enumerator for this segment collection.

Specified by:
getIndexedEnumSegments in interface ISegmentCollection
Parameters:
queryGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSegment
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

segmentsChanged

public void segmentsChanged()
                     throws java.io.IOException,
                            AutomationException
Informs the segment collection that any cached values that it may be maintaining (envelope, length, etc.) are invalid. Use this method after editing segments directly.

Specified by:
segmentsChanged in interface ISegmentCollection
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArea

public double getArea()
               throws java.io.IOException,
                      AutomationException
The area.

Specified by:
getArea in interface IArea
Returns:
The area
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroid

public IPoint getCentroid()
                   throws java.io.IOException,
                          AutomationException
The center of gravity (centroid).

Specified by:
getCentroid in interface IArea
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLabelPoint

public IPoint getLabelPoint()
                     throws java.io.IOException,
                            AutomationException
A point guaranteed to be inside this area.

Specified by:
getLabelPoint in interface IArea
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryCentroid

public void queryCentroid(IPoint center)
                   throws java.io.IOException,
                          AutomationException
Copies the centroid of this area to the specified point.

Specified by:
queryCentroid in interface IArea
Parameters:
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryLabelPoint

public void queryLabelPoint(IPoint labelPoint)
                     throws java.io.IOException,
                            AutomationException
Copies to the input point a point guaranteed to be inside this area.

Specified by:
queryLabelPoint in interface IArea
Parameters:
labelPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLength

public double getLength()
                 throws java.io.IOException,
                        AutomationException
The length of the curve.

Specified by:
getLength in interface ICurve
Returns:
The length
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFromPoint

public IPoint getFromPoint()
                    throws java.io.IOException,
                           AutomationException
The 'from' point of the curve.

Specified by:
getFromPoint in interface ICurve
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFromPoint

public void setFromPoint(IPoint from)
                  throws java.io.IOException,
                         AutomationException
The 'from' point of the curve.

Specified by:
setFromPoint in interface ICurve
Parameters:
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryFromPoint

public void queryFromPoint(IPoint from)
                    throws java.io.IOException,
                           AutomationException
Copies this curve's 'from' point to the input point.

Specified by:
queryFromPoint in interface ICurve
Parameters:
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getToPoint

public IPoint getToPoint()
                  throws java.io.IOException,
                         AutomationException
The 'to' point of the curve.

Specified by:
getToPoint in interface ICurve
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setToPoint

public void setToPoint(IPoint to)
                throws java.io.IOException,
                       AutomationException
The 'to' point of the curve.

Specified by:
setToPoint in interface ICurve
Parameters:
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryToPoint

public void queryToPoint(IPoint to)
                  throws java.io.IOException,
                         AutomationException
Copies the curve's 'to' point into the input point.

Specified by:
queryToPoint in interface ICurve
Parameters:
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoint

public void queryPoint(int extension,
                       double distanceAlongCurve,
                       boolean asRatio,
                       IPoint outPoint)
                throws java.io.IOException,
                       AutomationException
Copies to outPoint the properties of a point on the curve at a specified distance from the beginning of the curve.

Specified by:
queryPoint in interface ICurve
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
distanceAlongCurve - The distanceAlongCurve (in)
asRatio - The asRatio (in)
outPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPointAndDistance

public void queryPointAndDistance(int extension,
                                  IPoint inPoint,
                                  boolean asRatio,
                                  IPoint outPoint,
                                  double[] distanceAlongCurve,
                                  double[] distanceFromCurve,
                                  boolean[] bRightSide)
                           throws java.io.IOException,
                                  AutomationException
Finds the point on the curve closest to inPoint, then copies that point to outPoint; optionally calculates related items.

Specified by:
queryPointAndDistance in interface ICurve
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
inPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
asRatio - The asRatio (in)
outPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
distanceAlongCurve - The distanceAlongCurve (in/out: use single element array)
distanceFromCurve - The distanceFromCurve (in/out: use single element array)
bRightSide - The bRightSide (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTangent

public void queryTangent(int extension,
                         double distanceAlongCurve,
                         boolean asRatio,
                         double length,
                         ILine tangent)
                  throws java.io.IOException,
                         AutomationException
Constructs a line tangent to a curve from a point at a specified distance along the curve.

Specified by:
queryTangent in interface ICurve
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
distanceAlongCurve - The distanceAlongCurve (in)
asRatio - The asRatio (in)
length - The length (in)
tangent - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryNormal

public void queryNormal(int extension,
                        double distanceAlongCurve,
                        boolean asRatio,
                        double length,
                        ILine normal)
                 throws java.io.IOException,
                        AutomationException
Constructs a line normal to a curve from a point at a specified distance along the curve.

Specified by:
queryNormal in interface ICurve
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
distanceAlongCurve - The distanceAlongCurve (in)
asRatio - The asRatio (in)
length - The length (in)
normal - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubcurve

public void getSubcurve(double fromDistance,
                        double toDistance,
                        boolean asRatio,
                        ICurve[] outSubcurve)
                 throws java.io.IOException,
                        AutomationException
Extracts a portion of this curve into a new curve.

Specified by:
getSubcurve in interface ICurve
Parameters:
fromDistance - The fromDistance (in)
toDistance - The toDistance (in)
asRatio - The asRatio (in)
outSubcurve - A reference to a com.esri.arcgis.geometry.ICurve (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reverseOrientation

public void reverseOrientation()
                        throws java.io.IOException,
                               AutomationException
Reverses the parameterization of the curve ('from' point becomes 'to' point, first segment becomes last segment, etc).

Specified by:
reverseOrientation in interface ICurve
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isClosed

public boolean isClosed()
                 throws java.io.IOException,
                        AutomationException
Indicates if 'from' and 'to' points (of each part) are identical.

Specified by:
isClosed in interface ICurve
Returns:
The isClosed
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

generalize

public void generalize(double maxAllowableOffset)
                throws java.io.IOException,
                       AutomationException
Generalizes this path using the Douglas-Poiker algorithm.

Specified by:
generalize in interface IPath
Parameters:
maxAllowableOffset - The maxAllowableOffset (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

smooth

public void smooth(double maxAllowableOffset)
            throws java.io.IOException,
                   AutomationException
Converts this path into a smooth approximation of itself that contains only Bezier curve segments.

Specified by:
smooth in interface IPath
Parameters:
maxAllowableOffset - The maxAllowableOffset (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

smoothLocal

public void smoothLocal(int vertexIndex)
                 throws java.io.IOException,
                        AutomationException
Replaces up to four segments (two on each of the specified vertex index) with bezier curves.

Specified by:
smoothLocal in interface IPath
Parameters:
vertexIndex - The vertexIndex (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryChordLengthTangents

public void queryChordLengthTangents(int pointIndex,
                                     IPoint prevTangent,
                                     boolean[] prevSetByUser,
                                     IPoint nextTangent,
                                     boolean[] nextSetByUser)
                              throws java.io.IOException,
                                     AutomationException
Returns tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; and whether they have been set by user or by smoothing process.

Specified by:
queryChordLengthTangents in interface IPath
Parameters:
pointIndex - The pointIndex (in)
prevTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
prevSetByUser - The prevSetByUser (in/out: use single element array)
nextTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
nextSetByUser - The nextSetByUser (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setChordLengthTangents

public void setChordLengthTangents(int pointIndex,
                                   IPoint prevTangent,
                                   IPoint nextTangent)
                            throws java.io.IOException,
                                   AutomationException
Sets tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; if either is Nothing, they will be set by smoothing process.

Specified by:
setChordLengthTangents in interface IPath
Parameters:
pointIndex - The pointIndex (in)
prevTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
nextTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isExterior

public boolean isExterior()
                   throws java.io.IOException,
                          AutomationException
Indicates if this ring can function as the exterior ring in a polygon (ring orientation is clockwise, area > 0).

Specified by:
isExterior in interface IRing
Returns:
The isExterior
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reshape

public boolean reshape(IPath reshapeSource)
                throws java.io.IOException,
                       AutomationException
Modifies this ring by replacing some of its segments with some segments from reshapeSource.

Specified by:
reshape in interface IRing
Parameters:
reshapeSource - A reference to a com.esri.arcgis.geometry.IPath (in)
Returns:
The reshapeHappened
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

close

public void close()
           throws java.io.IOException,
                  AutomationException
Makes sure that this ring is closed by adding a line segment between the ring's 'to' and 'from' points if necessary.

Specified by:
close in interface IRing
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubcurveEx

public ICurve getSubcurveEx(double fromDistance,
                            double toDistance,
                            boolean asRatio,
                            boolean isCCW,
                            boolean useRingOrientation)
                     throws java.io.IOException,
                            AutomationException
Extracts a portion of this curve into a new curve. The interior of the new curve may contain the from/to point of the ring when useRingOrientation is true.

Specified by:
getSubcurveEx in interface IRing
Parameters:
fromDistance - The fromDistance (in)
toDistance - The toDistance (in)
asRatio - The asRatio (in)
isCCW - The isCCW (in)
useRingOrientation - The useRingOrientation (in)
Returns:
A reference to a com.esri.arcgis.geometry.ICurve
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reshapeEx

public void reshapeEx(IPath reshapeSource,
                      IGeometry[] leftResult,
                      IGeometry[] rightResult)
               throws java.io.IOException,
                      AutomationException
Creates two new polygons by using segments from the ring and from reshapeSource.

Specified by:
reshapeEx in interface IRing2
Parameters:
reshapeSource - A reference to a com.esri.arcgis.geometry.IPath (in)
leftResult - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
rightResult - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructRigidStretch

public void constructRigidStretch(IPath srcPath,
                                  int stretchStartIndex,
                                  int startAnchor,
                                  int endAnchor,
                                  IPoint stretchEnd)
                           throws java.io.IOException,
                                  AutomationException
Constructs a scaled, rotated version of srcPath. The point at stretchStartIndex will end up at stretchEnd. The points at startAnchor and endAnchor will remain unchanged. Others will be scaled and rotate proportionately.

Specified by:
constructRigidStretch in interface IConstructPath
Parameters:
srcPath - A reference to a com.esri.arcgis.geometry.IPath (in)
stretchStartIndex - The stretchStartIndex (in)
startAnchor - The startAnchor (in)
endAnchor - The endAnchor (in)
stretchEnd - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws java.io.IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

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

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

assign

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

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

isEqual

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

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

isIdentical

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

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

move

public void move(double dx,
                 double dy)
          throws java.io.IOException,
                 AutomationException
Moves dx units horizontally and dy units vertically.

Specified by:
move in interface ITransform2D
Parameters:
dx - The dx (in)
dy - The dy (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVector

public void moveVector(ILine v)
                throws java.io.IOException,
                       AutomationException
Moves a direction and distance v. v can be in a different spatial reference than the geometry being moved.

Specified by:
moveVector in interface ITransform2D
Parameters:
v - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

scale

public void scale(IPoint origin,
                  double sx,
                  double sy)
           throws java.io.IOException,
                  AutomationException
Scales about the specified origin using seperate horizonal and vertical scales. The origin point can be in a different spatial reference than the geometry being scaled.

Specified by:
scale in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
sx - The sx (in)
sy - The sy (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

public void rotate(IPoint origin,
                   double rotationAngle)
            throws java.io.IOException,
                   AutomationException
Rotates about the specified origin point. The angle is in radians. The origin can be in a different spatial reference than the geometry being rotated.

Specified by:
rotate in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotationAngle - The rotationAngle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform

public void transform(int direction,
                      ITransformation transformation)
               throws java.io.IOException,
                      AutomationException
Applies an arbitrary transformation. In particular, the transformation parameter can be either an affine transformation or a geographic transformation (datum shift).

Specified by:
transform in interface ITransform2D
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move3D

public void move3D(double dx,
                   double dy,
                   double dz)
            throws java.io.IOException,
                   AutomationException
Moves the object by dx, dy and dz along the x, y, and z axes respectively.

Specified by:
move3D in interface ITransform3D
Parameters:
dx - The dx (in)
dy - The dy (in)
dz - The dz (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVector3D

public void moveVector3D(IVector3D v)
                  throws java.io.IOException,
                         AutomationException
Moves the object by an offset defined by a 3D vector.

Specified by:
moveVector3D in interface ITransform3D
Parameters:
v - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

scale3D

public void scale3D(IPoint origin,
                    double sx,
                    double sy,
                    double sz)
             throws java.io.IOException,
                    AutomationException
Scales the object about the specified origin point. sx, sy, and sz are the scaling factors for the x, y, and z dimensions repectively.

Specified by:
scale3D in interface ITransform3D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
sx - The sx (in)
sy - The sy (in)
sz - The sz (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotateVector3D

public void rotateVector3D(IVector3D axis,
                           double rotationAngle)
                    throws java.io.IOException,
                           AutomationException
Rotates the object about axis defined by the specified vector through an angle measured in radians.

Specified by:
rotateVector3D in interface ITransform3D
Parameters:
axis - A reference to a com.esri.arcgis.geometry.IVector3D (in)
rotationAngle - The rotationAngle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform3D

public void transform3D(int direction,
                        ITransformation3D transformation)
                 throws java.io.IOException,
                        AutomationException
Applies an arbitrary 3D transformation.

Specified by:
transform3D in interface ITransform3D
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation3D (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

projectToPlane

public IGeometry projectToPlane(IPoint planarOrigin,
                                IVector3D planarPositiveX,
                                IVector3D planarNorm)
                         throws java.io.IOException,
                                AutomationException
Generates a polygon footprint for the object in an arbitrary plane. The footprint may have multiple parts.

Specified by:
projectToPlane in interface ITransform3D
Parameters:
planarOrigin - A reference to a com.esri.arcgis.geometry.IPoint (in)
planarPositiveX - A reference to a com.esri.arcgis.geometry.IVector3D (in)
planarNorm - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

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

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

deserialize

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

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

getLength3D

public double getLength3D()
                   throws java.io.IOException,
                          AutomationException
The length of the curve.

Specified by:
getLength3D in interface ICurve3D
Returns:
The pLength
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoint3D

public void queryPoint3D(int extension,
                         double distanceAlongCurve,
                         boolean bAsRatio,
                         IPoint pOutPoint)
                  throws java.io.IOException,
                         AutomationException
Copies to outPoint the properties of a point on the curve at a specified distance from the beginning of the curve.

Specified by:
queryPoint3D in interface ICurve3D
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
distanceAlongCurve - The distanceAlongCurve (in)
bAsRatio - The bAsRatio (in)
pOutPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubcurve3D

public void getSubcurve3D(double fromDistance,
                          double toDistance,
                          boolean bAsRatio,
                          ICurve3D[] ppOutSubCurve)
                   throws java.io.IOException,
                          AutomationException
Extracts a portion of this curve into a new curve.

Specified by:
getSubcurve3D in interface ICurve3D
Parameters:
fromDistance - The fromDistance (in)
toDistance - The toDistance (in)
bAsRatio - The bAsRatio (in)
ppOutSubCurve - A reference to a com.esri.arcgis.geometry.ICurve3D (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPointAndDistance3D

public void queryPointAndDistance3D(int extension,
                                    IPoint pInPoint,
                                    boolean bAsRatio,
                                    IPoint pOutPoint,
                                    double[] pDistanceAlongCurve,
                                    double[] pDistanceFromCurve)
                             throws java.io.IOException,
                                    AutomationException
Finds the point on the curve closest to inPoint, then copies that point to outPoint; optionally calculates related items.

Specified by:
queryPointAndDistance3D in interface ICurve3D
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
pInPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
bAsRatio - The bAsRatio (in)
pOutPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
pDistanceAlongCurve - The pDistanceAlongCurve (in/out: use single element array)
pDistanceFromCurve - The pDistanceFromCurve (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isClosed3D

public boolean isClosed3D()
                   throws java.io.IOException,
                          AutomationException
Indicates if 'from' and 'to' points (of each part) are identical.

Specified by:
isClosed3D in interface ICurve3D
Returns:
The isClosed
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.