com.esri.arcgis.geometry
Class Polygon

java.lang.Object
  extended by com.esri.arcgis.geometry.Polygon
All Implemented Interfaces:
IArea, IArea3D, IAreaGeodetic, IConstructCurve, IConstructCurve2, ICurve, ICurve3D, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, IGeometryCollection, IHitTest, IHitTest3D, IMAware, IMCollection, IMSegmentation, IMSnap, IPointCollection, IPointCollection2, IPointCollection3, IPointCollection4, IPointIDAware, IPolycurve, IPolycurve2, IPolycurve3D, IPolycurve4, IPolycurveGeodetic, IPolygon, IPolygon2, IPolygon3, IPolygon4, IPolygon5, IProximityOperator, IProximityOperator3D, IRelationalOperator, IRelationalOperator2, IRelationalOperator3D, IRelationalOperator3D2, ISegmentCollection, ISpatialIndex, ISpatialIndex2, ITopologicalOperator, ITopologicalOperator2, ITopologicalOperator3, ITopologicalOperator4, ITopologicalOperator6, ITransform2D, ITransform3D, IZ, IZ2, IZAware, IZCollection, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, ISupportErrorInfo, IXMLSerialize, java.io.Externalizable, java.io.Serializable

public class Polygon
extends java.lang.Object
implements com.esri.arcgis.interop.RemoteObjRef, IPointCollection, IPointCollection4, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, ISegmentCollection, IGeometryCollection, ICurve, IPolycurve, IPolycurve2, IPolycurveGeodetic, IArea, IAreaGeodetic, IArea3D, IPolygon, IPolygon2, IPolygon3, IPolygon4, IPolygon5, IMAware, IMCollection, IMSegmentation, IZAware, IZCollection, IZ, IZ2, IPointIDAware, ISpatialIndex2, IRelationalOperator, IProximityOperator, IRelationalOperator2, ITopologicalOperator, ITopologicalOperator2, ITopologicalOperator3, ITopologicalOperator4, ITopologicalOperator6, IHitTest, IHitTest3D, IConstructCurve, IConstructCurve2, ISupportErrorInfo, IPersist, IPersistStream, IClone, ITransform2D, ITransform3D, IXMLSerialize, IMSnap, IPolycurve3D, ICurve3D, IProximityOperator3D, IRelationalOperator3D, IRelationalOperator3D2, java.io.Externalizable

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

Description 'A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.' 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
static long serialVersionUID
           
 
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.IGeometry5
IID, IID134b247e_83f6_471c_9ad1_11c35312d5ef, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometry4
IIDc4c70b7a_dfba_4892_86cd_a9100357409b
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometry3
IIDd034f81b_7137_40a6_90ea_d88968c33e60
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometry2
IIDb79b2d7e_dbc8_11d3_9f60_00c04f6bdd7f
 
Fields inherited from interface com.esri.arcgis.geometry.ISegmentCollection
IID, IIDb3fe6b20_4fc2_11d1_834e_0000f8775be9, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometryCollection
IID, IIDc801565e_99ca_11d0_82f7_0000f8034032, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolycurve2
IID, IIDf4737332_f6b7_11d3_9f6a_00c04f6bdd7f, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolycurveGeodetic
IID, IID00fcc4e5_5a6c_482b_9b77_1524d05b19d3, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolycurve4
IIDc0ea9a43_8884_4b70_9726_9cb6acfc0788
 
Fields inherited from interface com.esri.arcgis.geometry.IArea
IID, IID6039e192_4cc8_11d1_834e_0000f8775be9, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IAreaGeodetic
IID, IID2c6209ae_7ed5_4ae1_bd5f_7d858b13dc35, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IArea3D
IID, IID984839b4_f7ea_42f8_ae20_48632369cc08, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolygon4
IID, IID5af81eb6_5616_49a0_b0a6_e265803e4bd2, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolygon3
IID287370ce_b306_4892_8a4c_a7970b132b79
 
Fields inherited from interface com.esri.arcgis.geometry.IPolygon2
IID55e67f71_30ff_11d4_9f5e_00c04f6bdf0d
 
Fields inherited from interface com.esri.arcgis.geometry.IPolygon
IIDa4c490b8_9441_11d0_82f7_0000f8034032
 
Fields inherited from interface com.esri.arcgis.geometry.IPolycurve
IID4aff82e0_f984_11d1_bca7_0000f875bcce
 
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.IPolygon5
IID, IID9c4a7438_f213_411c_9a24_1465c61838f4, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IMAware
IID, IID52c59396_d744_11d2_9f34_00c04f6bdf06, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IMSegmentation
IID, IIDfd5e17ec_d717_11d2_9f34_00c04f6bdf06, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IMCollection
IID01faff20_5191_11d2_92f6_0000f875171d
 
Fields inherited from interface com.esri.arcgis.geometry.IZAware
IID, IIDefeeb8b3_dc23_11d2_9f2e_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IZ2
IID, IID473b374d_0f02_461a_b60e_070045c6110b, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IZ
IIDfe5d57ef_3052_11d4_9f5e_00c04f6bdf0d
 
Fields inherited from interface com.esri.arcgis.geometry.IZCollection
IIDefeeb8b4_dc23_11d2_9f2e_00c04f6bdf0d
 
Fields inherited from interface com.esri.arcgis.geometry.IPointIDAware
IID, IID739a1669_e870_11d2_9f30_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ISpatialIndex2
IID, IID8d7948bc_8dca_4e81_a7d5_8c259f202bd3, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ISpatialIndex
IID8c6e62ce_74fd_11d3_9f49_00c04f6bdd7f
 
Fields inherited from interface com.esri.arcgis.geometry.IProximityOperator
IID, IID1b07790f_38c5_11d0_92d2_00805f7c28b0, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRelationalOperator2
IID, IID839f5c7e_ed5f_4b3f_8f97_c0a9cc4817ee, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRelationalOperator
IID1b07790e_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator4
IID, IID6aba2e62_630e_4d93_86ca_3d397c28cf44, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator3
IIDd4dc3b12_88ea_42d8_87b7_4eb7460737c1
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator2
IID805aeeb0_1d4c_11d4_9f75_00c04f6bdd7f
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator
IID1b077911_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator6
IID, IID5bb94960_4a59_48ff_aacd_d0e906c56e0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IHitTest
IID, IID0eb12c6e_18f6_11d1_8337_0000f8775be9, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IHitTest3D
IID, IIDa2fa4e9a_4e10_4a62_9eed_48680a7423dd, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IConstructCurve2
IID, IID4a877e3c_ba67_4f78_b1ef_a728c968d787, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IConstructCurve
IID650cfdc0_d947_11d0_830d_0000f8034032
 
Fields inherited from interface com.esri.arcgis.system.ISupportErrorInfo
IID, IIDdf0b3d60_548f_101b_8e65_08002b2bd119, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IPersistStream
IID, IID00000109_0000_0000_c000_000000000046, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IPersist
IID0000010c_0000_0000_c000_000000000046
 
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.IMSnap
IID, IID3732f8b2_0f64_11d5_9fde_00c04f6bdd7f, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolycurve3D
IID, IID6774df52_07a6_4509_9523_50b4c485bb52, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve3D
IID, IIDac4d3da2_4b76_48dd_b393_2468452ca30d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IProximityOperator3D
IID, IID97e08cf7_7a24_4290_ba8a_acedb753b42c, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRelationalOperator3D2
IID, IIDcc14f157_ec46_4498_8148_fde8d6b43e20, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IRelationalOperator3D
IIDf6eaefde_888e_4f1d_b5b7_84f36da677b0
 
Constructor Summary
Polygon()
          Constructs a Polygon using ArcGIS Engine.
Polygon(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Polygon thePolygon = (Polygon) obj;
 
Method Summary
 void addGeometries(int count, IGeometry newGeometries)
          Adds references to the specified geometries.
 void addGeometry(IGeometry inGeometry, java.lang.Object before, java.lang.Object after)
          Adds a reference to the input geometry either at the end, or before, or after the specified index.
 void addGeometryCollection(IGeometryCollection newGeometries)
          Adds references to geometries in the input collection.
 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 approximateByBeziers(IPolycurve pInCurve, java.lang.Object pMaxDistance, java.lang.Object smoothClosedParts)
          Constructs a curve which approximates the input curve by a small number of Bezier segments.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 IGeometry buffer(double distance)
          Constructs a polygon that is the locus of points at a distance less than or equal to a specified distance from this geometry.
 void calculateNonSimpleMs()
          Redefines the non-simple Ms to be values obtained from interpolation of surrounding defined Ms, or extrapolation of Ms.
 void calculateNonSimpleZs()
          Calculates the non-simple Z values by extrapolation/interpolation for polylines and interpolation for polygons.
 void checkInvalidate()
          Invalidates the spatial index if the geometry has been changed since the index was last constructed.
 void clip(IEnvelope clipperEnvelope)
          Constructs the intersection of this geometry and the specified envelope.
 void clipDense(IEnvelope clipperEnvelope, double denseDistance)
          Constructs the intersection of this geometry and the specified envelope; densifies lines in output contributed by the clipping envelope.
 void clipToDomain()
          Clips the geometry to the domain of the spatial reference.
 void close()
          Closes all rings in this polygon.
 IEnumGeometry constructBuffers(int numBuffers, double[] distances)
          Constructs a set of buffers at various distances.
 void constructExtended(ICurve fromCurve, ICurve toCurve, int extensionFlags, boolean[] extensionsPerformed)
          Constructs an extended version of the 'from' curve that goes to the 'to' curve.
 void constructKoch(IPolycurve p, double r, int recursionLevel)
          Constructs a Koch snowflake fractal using the input polycurve as the generator.
 void constructOffset(IPolycurve inCurve, double offset, java.lang.Object offsetHow, java.lang.Object bevelRatio)
          Constructs a curve being the locus of points offset a given distance from another curve.
 void constructUnion(IEnumGeometry geometries)
          Defines this geometry to be the union of the inputs.
 void constructUnionEx(IEnumGeometry pEnum, boolean bNonPlanar)
          Defines this geometry to be the union of the inputs, with the option for non-planary result.
 boolean contains(IGeometry other)
          Indicates if this geometry contains the other geometry.
 boolean containsEx(IGeometry pOther, int relation)
          Indicates if this geometry contains the other geometry, optionally using Celementini's definition.
 IGeometry convexHull()
          Constructs the convex hull of this geometry.
 boolean crosses(IGeometry other)
          Indicates if the two geometries intersect in a geometry of lesser dimension.
 void cut(IPolyline cutter, IGeometry[] leftGeom, IGeometry[] rightGeom)
          Splits this geometry into a part left of the cutting polyline, and a part right of it.
 IGeometryCollection cut2(IPolyline pCutter)
          Divides a geometry into multiple parts
 void densify(double maxSegmentLength, double maxDeviation)
          Converts this polycurve into a piecewise linear approximation of itself.
 void densify3D(double maxSegmentLength, double maxDeviation)
          Converts this Polycurve into a piecewise linear approximation of itself.
 void densifyByAngle(double maxSegmentLength, double maxAngleDeviation)
          Converts this polycurve into a piecewise linear approximation of itself.
 void densifyGeodetic(int geodeticLineType, ILinearUnit pLU, int densifyMethod, double densifyParameter)
          Constructs different types of geodetic curves.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 IGeometry difference(IGeometry other)
          Constructs the geometry containing points from this geometry but not the other geometry.
 IGeometry differenceEx(IGeometry other, boolean bNonPlanar)
          defined for (multi)points and polylines.
 boolean disjoint(IGeometry other)
          Indicates if the two geometries share no points in common.
 boolean disjoint3D(IGeometry pOther)
          Indicates if the two geometries share no points in common.
 void dropMs()
          Sets all the M values to a non-valid number (NaN).
 void dropPointIDs()
          Unsets all PointID values without changing awareness.
 void dropZs()
          Sets all the Z values to a non-valid number (NaN).
 boolean equals(java.lang.Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 boolean esri_equals(IGeometry other)
          Indicates if the two geometries are of the same type and define the same set of points in the plane.
 void extrapolateMs(int extrapolationStyle, int fromPart, int fromPoint, int toPart, int toPoint)
          Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.
 IRing findExteriorRing(IRing interiorRing)
          Returns the exterior ring containing the specified interior ring.
 void generalize(double maxAllowableOffset)
          Generalizes this polycurve using the Douglas-Poiker algorithm.
 void generalize3D(double maxAllowableOffset)
          Generalizes this polycurve using the Douglas-Poiker algorithm.
 void geodesicDensify(double maxSegmentLength)
          Densifies and reshapes existing segments so that the output segments follow the shortest ground path connecting input vertices.
 void geometriesChanged()
          Tells this geometry collection that some of its geometries have been altered.
 void geoNormalize()
          Shifts longitudes, if need be, into a continuous range of 360 degrees.
 void geoNormalizeEx(ISpatialReference sR, double denseDistance)
          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.
 double getArea3D()
          The 3D surface area.
 double getAreaGeodetic(int lineType, ILinearUnit pAreaUnit)
          The area.
 IGeometry getBoundary()
          The boundary of this geometry.
 IPoint getCentroid()
          The center of gravity (centroid).
 IPoint getCentroid3D()
          A 3D point whose XY coordinates are set to the center of gravity of the shape’s 2D footprint and Z set to the shape’s ZMax.
 IPoint getCentroidEx()
          The center of gravity (centroid).
 void getClassID(GUID[] pClassID)
          getClassID
static java.lang.String getClsid()
          getClsid.
 IGeometryBag getConnectedComponentBag()
          Creates and returns a geometry bag containing polygons that represent connected components of the original.
 void getConnectedComponents(int numComponentsRequested, IPolygon[] components)
          Populates an array with polygons that represent connected components of the original.
 int getDimension()
          The topological dimension of this geometry.
 java.lang.Object getDistancesAtM(boolean asRatio, double m)
          Returns an array of distances along the polyline at which is located the specified M.
 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.
 IGeometryBag getExteriorRingBag()
          Creates and returns a geometry bag that contains references to all exterior rings.
 int getExteriorRingCount()
          The number of exterior rings.
 IPoint getFromPoint()
          The 'from' point of the curve.
 IGeometry getGeometry(int index)
          A reference to the ith geometry.
 int getGeometryCount()
          The number of geometries in this collection.
 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.
 IGeometryBag getInteriorRingBag(IRing exteriorRing)
          Creates and returns a geometry bag that contains references to all rings that are interior to the specified exterior ring.
 int getInteriorRingCount(IRing exteriorRing)
          The number of rings interior to the specified exterior ring.
 com.esri.arcgis.interop.Dispatch getJintegraDispatch()
          Deprecated. Internal use only.
 IPoint getLabelPoint()
          A point guaranteed to be inside this area.
 IPoint getLabelPoint3D()
          A point guaranteed to be on this 3D surface area.
 double getLength()
          The length of the curve.
 double getLength3D()
          The length of the curve.
 double getLengthGeodetic(int geodeticLineType, ILinearUnit pLU)
          Returns length of this polycurve calculated using various types of geodetic methods.
 double getMMax()
          The maximum M value.
 double getMMin()
          The minimum M value.
 int getMMonotonic()
          A value indicating whether Ms are monotonic, and if so, whether they are ascending or descending.
 java.lang.Object getMsAtDistance(double distance, boolean asRatio)
          Returns M values at the distance along the geometry.
 IGeometryBag getOutermostComponentBag()
          Creates and returns a geometry bag containing polygons that represent outermost components of the original and all components within (islands within lakes).
 void getOutermostComponents(int numComponentsRequested, int[] numComponentsReturned, IPolygon[] components, boolean[] moreComponentsExist)
          Populates an array with polygons that represent outermost components of the original and all components within (islands within lakes).
 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.
 IGeometryCollection getPointsAtM(double m, double lateralOffset)
          Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.
 ISegment getSegment(int i)
          A reference to the ith segment.
 int getSegmentCount()
          The number of segments.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 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.
 IGeometryCollection getSubcurveBetweenMs(double fromM, double toM)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.
 IPoint getToPoint()
          The 'to' point of the curve.
 double getZMax()
          The maximum Z value.
 double getZMin()
          The minimum Z value.
 int hashCode()
          the hashcode for this object
 void hasNonLinearSegments(boolean[] nonLinearSegments)
          Indicates if this segment collection contains segments other than lines.
 boolean hitTest(IPoint queryPoint, double searchRadius, int geometryPart, IPoint hitPoint, double[] hitDistance, int[] hitPartIndex, int[] hitSegmentIndex, boolean[] bRightSide)
          Locates a part of a geometry closest to a query point.
 boolean hitTest3D(IPoint queryPoint, double searchRadius, int geometryPart, IPoint hitPoint, double[] hitDistance, int[] hitPartIndex, int[] hitSegmentIndex)
          Locates a part of a geometry closest to a query point.
 boolean hitTestCone(IRay pQueryRay, double minAngle, int geometryPart, IPoint pHitPoint, double[] pHitDistance, int[] pHitPartIndex, int[] pHitSegmentIndex)
          Locates a part of a geometry closest to a query ray.
 void insertGeometries(int index, int count, IGeometry newGeometries)
          Inserts at the specified index references to some number of geometries in the input array.
 void insertGeometryCollection(int index, IGeometryCollection newGeometries)
          Inserts at the specified index references to all if the geometries in the input collection.
 void insertMAtDistance(double m, double distance, boolean asRatio, boolean createPart, boolean[] splitHappened, int[] newPartIndex, int[] newSegmentIndex)
          Sets the M value at the given distance along the geometry; creates a point at that distance if no point exists there.
 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
 void interpolateFromSurface(IFunctionalSurface interpolationSurface)
          Use the specified functional surface to generate Z values for the vertices of this object.
 void interpolateMsBetween(int fromPart, int fromPoint, int toPart, int toPoint)
          Generates Ms by linear interpolation of segment distances for all vertices in the range [start+1, end-1].
 void interpolateZsBetween(int startPart, int startPoint, int endPart, int endPoint)
          Generate Z values by linear interpolation for all vertices in the range [start+1, end-1].
 IGeometry intersect(IGeometry other, int resultDimension)
          Constructs the geometry that is the set-theoretic intersection of the input geometries.
 IGeometry intersectEx(IGeometry other, boolean bNonPlanar, int resultDimension)
          Constructs the set-theoretic intersection of the inputs in the specified result dimension, , with the option for non-planary result.
 IGeometry intersectMultidimension(IGeometry other)
          Constructs the set-theoretic intersection of the inputs.
 IGeometry intersectMultidimensionEx(IGeometry other, boolean bNonPlanar)
          Constructs the set-theoretic intersection of the inputs.
 void invalidate()
          Invalidate the spatial index.
 boolean isAllowIndexing()
          Indicates whether to allow a spatial index to be created for this geometry.
 boolean isChanged()
          Indicates if a geometry has been changed (edited, projected, etc).
 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.
 void isDirty()
          isDirty
 boolean isEmpty()
          Indicates whether this geometry contains any points.
 boolean isEnvelope()
          Returns true if the shape of this polygon is equivalent to the polygon's bounding envelope.
 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 isKnownSimple()
          Indicates whether this geometry is known (or assumed) to be topologically correct.
 boolean isMAware()
          Indicates whether or not the geometry is aware of and capable of handling Ms.
 boolean isMSimple()
          Indicates if all the Ms are valid numbers.
 boolean isNear(IGeometry pOther, double distance)
          Indicates if this geometry is within distance from the other geometry.
 boolean isNear3D(IGeometry pOther, double distance)
          Indicates if this geometry is within distance from the other geometry; both geometries must have Zs.
 boolean isPointIDAware()
          Indicates whether or not the geometry is aware of and capable of handling PointIDs.
 boolean isPointIDSimple()
          Indicates if all PointID values for this geometry are well-defined.
 boolean isSimple()
          Indicates whether this geometry is known (or assumed) to be topologically correct, after explicitly determining this if the geometry is not already known (or assumed) to be simple.
 boolean isSimpleEx(int[] reason)
          Determines why a geometry is not simple.
 boolean isZAware()
          Indicates whether or not the geometry is aware of and capable of handling Zs.
 boolean isZSimple()
          Indicates if all the Zs are valid numbers.
 boolean isZVertical()
          Indicates if at least two consecutive vertices of this polyline or polygon have the same x and y values, but distinct z values.
 void load(IStream pstm)
          load
 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 multiplyMs(double factor)
          Multiplies all the M values by a factor.
 void multiplyZs(double factor)
          Multiplies all the Z values by a factor.
 void offsetMs(double offset)
          Offsets all the M values by an offset value.
 void offsetZs(double offset)
          Offsets all the Z values by an offset value.
 boolean overlaps(IGeometry other)
          Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.
 void project(ISpatialReference newReferenceSystem)
          Projects this geometry into a new spatial reference.
 void project5(ISpatialReference newSpatialReference, int projectionHint)
          Same as Project, but with additional parameter projectionHint.
 void projectEx(ISpatialReference newReferenceSystem, int direction, IGeoTransformation geoTransformation, boolean bAngularDensify, double maxSegmentLength, double maxDeviation)
          Projects a geometry, optionally applies a GeoTransformation, and optionally densifies the geometry.
 void projectEx5(ISpatialReference newReferenceSystem, int direction, ITransformation transformation, boolean bAngularDensify, double maxSegmentLength, double maxDeviation, int projectionHint)
          Same as ProjectEx, but with additional parameter projectionHint.
 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 queryCentroid3D(IPoint center)
          Copies the centroid of this 3D surface area to the specified point.
 void queryClipped(IEnvelope clipperEnvelope, IGeometry clippedGeometry)
          Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope.
 void queryClippedDense(IEnvelope clipperEnvelope, double denseDistance, IGeometry clippedGeometry)
          Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope; densifies lines in the output contributed by the clipping envelope.
 void queryEnvelope(IEnvelope outEnvelope)
          Copies this geometry's envelope properties into the specified envelope.
 void queryExteriorRings(IRing exteriorRings)
          Populates an array with references to all exterior rings.
 void queryExteriorRingsEx(int numExteriorRingsRequested, IRing[] exteriorRings)
          Returns an array of references to exterior rings, up to a maximum of the number requested.
 void queryFromPoint(IPoint from)
          Copies this curve's 'from' point to the input point.
 void queryGeometries(int index, int count, IGeometry[] geometries)
          Populates the array with references to a sub-sequence of geometries.
 void queryInteriorRings(IRing exteriorRing, IRing interiorRings)
          Populates an array with references to rings that are interior to the specified exterior ring.
 void queryInteriorRingsEx(IRing exteriorRing, int numInteriorRingsRequested, IRing[] interiorRings)
          Returns an array of references to rings that are interior to the specified exterior ring, up to a maximum of the number requested.
 void queryLabelPoint(IPoint labelPoint)
          Copies to the input point a point guaranteed to be inside this area.
 void queryLabelPoint3D(IPoint labelPoint)
          Copies to the input point a point guaranteed to be on this 3D surface area.
 void queryNearestPoint(IPoint p, int extension, IPoint nearest)
          Copies into 'nearest' a point on this geometry nearest to the input point.
 void queryNearestPoint3D(IPoint pInP, int extension, IPoint pNearest)
          Copies into 'nearest' a point on this geometry nearest to the input point.
 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 queryWKSEnvelope(_WKSEnvelope[] e)
          Defines the specified wksenvelope to be the current extent of this geometry in the x-y plane.
 void queryWKSPointZs(int index, int count, _WKSPointZ[] pointStructures)
          Copies vertices/points coordinates to the array of point structures.
 void readExternal(java.io.ObjectInput in)
           
 boolean relation(IGeometry other, java.lang.String relationDescription)
          Indicates if the defined relationship exists.
 void release()
          Release a Polygon.
 void removeGeometries(int index, int count)
          Removes references to some geometries from this collection.
 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.
 double returnDistance(IGeometry other)
          Returns the minimum distance between two geometries.
 double returnDistance3D(IGeometry pOther)
          Returns the minimal distance between two geometries.
 IPoint returnNearestPoint(IPoint p, int extension)
          Creates and returns a point on this geometry nearest to the input point.
 IPoint returnNearestPoint3D(IPoint pInP, int extension)
          Creates and returns a point on this geometry nearest to the input point.
 void reverseMsOrder()
          Reverses the order of the Ms along the geometry.
 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 save(IStream pstm, int fClearDirty)
          save
 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 setAllowIndexing(boolean allowIndexing)
          Indicates whether to allow a spatial index to be created for this geometry.
 void setAndInterpolateMsBetween(double fromM, double toM)
          Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values.
 void setChanged(boolean isChanged)
          Indicates if a geometry has been changed (edited, projected, etc).
 void setCircle(IPoint cp, double circleRadius)
          Defines this path, ring, polyline or polygon to contain a single circular arc segment that is closed.
 void setConstantZ(double zLevel)
          Sets Z coordinates at all vertices to zLevel.
 void setEmpty()
          Removes all points from this geometry.
 void setFromPoint(IPoint from)
          The 'from' point of the curve.
 void setGeometries(int count, IGeometry newGeometries)
          Replaces all geometries in the collection with the specified number of references to those in the input array.
 void setGeometryCollection(IGeometryCollection newParts)
          Replaces all geometries in the collection with references to geometries from the input collection.
 void setIsKnownSimple(boolean rhs1)
          Indicates whether this geometry is known (or assumed) to be topologically correct.
 void setMAware(boolean mAware)
          Indicates whether or not the geometry is aware of and capable of handling Ms.
 void setMsAsDistance(boolean asRatio)
          Sets the M values to the cumulative length from the origin of the geometry.
 void setNonSimpleZs(double zLevel)
          Replaces undefined (nonsimple) Z values with the specified constant value.
 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 setPointIDAware(boolean idAware)
          Indicates whether or not the geometry is aware of and capable of handling PointIDs.
 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 setZAware(boolean zAware)
          Indicates whether or not the geometry is aware of and capable of handling Zs.
 void simplify()
          Makes this geometry topologically correct.
 void simplifyAsFeature()
          Simplifies the geometry using the rules appropriate for this feature.
 void simplifyEx(boolean preserveFromToPoints, boolean closeRings, boolean useXORRule)
          Same as ITopologicalOperator::Simplify, but with some additional options that affect performance and how the interior is classified.
 void simplifyPreserveFromTo()
          Simplifies the polygon and maintains the index location of the from/to point of each ring.
 void simplifySpaghetti()
          Simplifies a polygon but doesn't assume that rings need to be explicitly closed.
 void smooth(double maxAllowableOffset)
          Converts this curve into a smooth curve containing only Bezier curve segments.
 void snap()
          Snaps ms to the precision of the spatial reference associated with the geometry.
 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 splitAtDistance(double distance, boolean asRatio, boolean createPart, boolean[] splitHappened, int[] newPartIndex, int[] newSegmentIndex)
          Introduces a new vertex into this polyline at a specified distance from the beginning of the polyline.
 IEnumSplitPoint splitAtDistances(int distanceCount, double[] distances, boolean asRatios, boolean createParts)
          Introduces new vertices into this polyline at specified distances from the beginning of the polyline.
 void splitAtPoint(IPoint splitPoint, boolean projectOnto, boolean createPart, boolean[] splitHappened, int[] newPartIndex, int[] newSegmentIndex)
          Introduces a new vertex into this polyline at the location on it closest to the input point.
 IEnumSplitPoint splitAtPoints(IEnumVertex splitPoints, boolean projectOnto, boolean createParts, double cutoffDistance)
          Introduces new vertices into this polyline at the locations on it closest to the input points.
 IGeometry symmetricDifference(IGeometry other)
          Constructs the geometry that contains points from either but not both input geometries.
 IGeometry symmetricDifferenceEx(IGeometry other, boolean bNonPlanar)
          defined for (multi)points and polylines.
 boolean touches(IGeometry other)
          Indicates if the boundaries of the geometries intersect.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 void transform3D(int direction, ITransformation3D transformation)
          Applies an arbitrary 3D transformation.
 IGeometry union(IGeometry other)
          Constructs the geometry that is the set-theoretic union of the input geometries.
 IGeometry unionEx(IGeometry other, boolean bNonPlanar)
          Constructs the set-theoretic union of the inputs, with the option for non-planary result.
 void updatePoint(int i, IPoint p)
          Changes the ith vertex or point to be a copy of the input point.
 void weed(double maxAllowableOffsetFactor)
          Generalizes using a small tolerance based upon either the system units of the geometry's spatial reference, or the geometry's bounding box.
 void weed3D(double maxAllowableOffsetFactor)
          Generalizes using a small tolerance based upon either the system units of the geometry's spatial reference, or the geometry's bounding box.
 boolean within(IGeometry other)
          Indicates if this geometry is contained (is within) another geometry.
 boolean withinEx(IGeometry pOther, int relation)
          Indicates if this geometry contains the other geometry, optionally using Celementini's definition.
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

Polygon

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

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

Polygon

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

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

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 Polygon.

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.

projectEx

public void projectEx(ISpatialReference newReferenceSystem,
                      int direction,
                      IGeoTransformation geoTransformation,
                      boolean bAngularDensify,
                      double maxSegmentLength,
                      double maxDeviation)
               throws java.io.IOException,
                      AutomationException
Projects a geometry, optionally applies a GeoTransformation, and optionally densifies the geometry.

Specified by:
projectEx in interface IGeometry2
Parameters:
newReferenceSystem - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
geoTransformation - A reference to a com.esri.arcgis.geometry.IGeoTransformation (in)
bAngularDensify - The bAngularDensify (in)
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSEnvelope

public void queryWKSEnvelope(_WKSEnvelope[] e)
                      throws java.io.IOException,
                             AutomationException
Defines the specified wksenvelope to be the current extent of this geometry in the x-y plane.

Specified by:
queryWKSEnvelope in interface IGeometry3
Parameters:
e - A Structure: com.esri.arcgis.system._WKSEnvelope (A com.esri.arcgis.system._WKSEnvelope COM typedef) (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isChanged

public boolean isChanged()
                  throws java.io.IOException,
                         AutomationException
Indicates if a geometry has been changed (edited, projected, etc).

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

setChanged

public void setChanged(boolean isChanged)
                throws java.io.IOException,
                       AutomationException
Indicates if a geometry has been changed (edited, projected, etc).

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

project5

public void project5(ISpatialReference newSpatialReference,
                     int projectionHint)
              throws java.io.IOException,
                     AutomationException
Same as Project, but with additional parameter projectionHint.

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

projectEx5

public void projectEx5(ISpatialReference newReferenceSystem,
                       int direction,
                       ITransformation transformation,
                       boolean bAngularDensify,
                       double maxSegmentLength,
                       double maxDeviation,
                       int projectionHint)
                throws java.io.IOException,
                       AutomationException
Same as ProjectEx, but with additional parameter projectionHint.

Specified by:
projectEx5 in interface IGeometry5
Parameters:
newReferenceSystem - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
bAngularDensify - The bAngularDensify (in)
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
projectionHint - The projectionHint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroidEx

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

Specified by:
getCentroidEx in interface IGeometry5
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.

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.

getGeometryCount

public int getGeometryCount()
                     throws java.io.IOException,
                            AutomationException
The number of geometries in this collection.

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

getGeometry

public IGeometry getGeometry(int index)
                      throws java.io.IOException,
                             AutomationException
A reference to the ith geometry.

Specified by:
getGeometry in interface IGeometryCollection
Parameters:
index - The index (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.

addGeometry

public void addGeometry(IGeometry inGeometry,
                        java.lang.Object before,
                        java.lang.Object after)
                 throws java.io.IOException,
                        AutomationException
Adds a reference to the input geometry either at the end, or before, or after the specified index.

Specified by:
addGeometry in interface IGeometryCollection
Parameters:
inGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (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.

queryGeometries

public void queryGeometries(int index,
                            int count,
                            IGeometry[] geometries)
                     throws java.io.IOException,
                            AutomationException
Populates the array with references to a sub-sequence of geometries. This method is intended for internal use only.

Specified by:
queryGeometries in interface IGeometryCollection
Parameters:
index - The index (in)
count - The count (in)
geometries - 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.

addGeometries

public void addGeometries(int count,
                          IGeometry newGeometries)
                   throws java.io.IOException,
                          AutomationException
Adds references to the specified geometries. This method is intended for internal use only.

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

addGeometryCollection

public void addGeometryCollection(IGeometryCollection newGeometries)
                           throws java.io.IOException,
                                  AutomationException
Adds references to geometries in the input collection.

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

insertGeometries

public void insertGeometries(int index,
                             int count,
                             IGeometry newGeometries)
                      throws java.io.IOException,
                             AutomationException
Inserts at the specified index references to some number of geometries in the input array. This method is intended for internal use only.

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

insertGeometryCollection

public void insertGeometryCollection(int index,
                                     IGeometryCollection newGeometries)
                              throws java.io.IOException,
                                     AutomationException
Inserts at the specified index references to all if the geometries in the input collection.

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

setGeometries

public void setGeometries(int count,
                          IGeometry newGeometries)
                   throws java.io.IOException,
                          AutomationException
Replaces all geometries in the collection with the specified number of references to those in the input array. This method is intended for internal use only.

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

setGeometryCollection

public void setGeometryCollection(IGeometryCollection newParts)
                           throws java.io.IOException,
                                  AutomationException
Replaces all geometries in the collection with references to geometries from the input collection.

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

removeGeometries

public void removeGeometries(int index,
                             int count)
                      throws java.io.IOException,
                             AutomationException
Removes references to some geometries from this collection.

Specified by:
removeGeometries in interface IGeometryCollection
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.

geometriesChanged

public void geometriesChanged()
                       throws java.io.IOException,
                              AutomationException
Tells this geometry collection that some of its geometries have been altered. Use this method on polylines, polygons and multipatches after directly editing one of its parts.

Specified by:
geometriesChanged in interface IGeometryCollection
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.

densify

public void densify(double maxSegmentLength,
                    double maxDeviation)
             throws java.io.IOException,
                    AutomationException
Converts this polycurve into a piecewise linear approximation of itself.

Specified by:
densify in interface IPolycurve
Parameters:
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
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 polycurve using the Douglas-Poiker algorithm.

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

weed

public void weed(double maxAllowableOffsetFactor)
          throws java.io.IOException,
                 AutomationException
Generalizes using a small tolerance based upon either the system units of the geometry's spatial reference, or the geometry's bounding box.

Specified by:
weed in interface IPolycurve
Parameters:
maxAllowableOffsetFactor - The maxAllowableOffsetFactor (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 curve into a smooth curve containing only Bezier curve segments.

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

splitAtPoint

public void splitAtPoint(IPoint splitPoint,
                         boolean projectOnto,
                         boolean createPart,
                         boolean[] splitHappened,
                         int[] newPartIndex,
                         int[] newSegmentIndex)
                  throws java.io.IOException,
                         AutomationException
Introduces a new vertex into this polyline at the location on it closest to the input point.

Specified by:
splitAtPoint in interface IPolycurve
Parameters:
splitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
projectOnto - The projectOnto (in)
createPart - The createPart (in)
splitHappened - The splitHappened (out: use single element array)
newPartIndex - The newPartIndex (out: use single element array)
newSegmentIndex - The newSegmentIndex (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitAtDistance

public void splitAtDistance(double distance,
                            boolean asRatio,
                            boolean createPart,
                            boolean[] splitHappened,
                            int[] newPartIndex,
                            int[] newSegmentIndex)
                     throws java.io.IOException,
                            AutomationException
Introduces a new vertex into this polyline at a specified distance from the beginning of the polyline.

Specified by:
splitAtDistance in interface IPolycurve
Parameters:
distance - The distance (in)
asRatio - The asRatio (in)
createPart - The createPart (in)
splitHappened - The splitHappened (out: use single element array)
newPartIndex - The newPartIndex (out: use single element array)
newSegmentIndex - The newSegmentIndex (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitAtPoints

public IEnumSplitPoint splitAtPoints(IEnumVertex splitPoints,
                                     boolean projectOnto,
                                     boolean createParts,
                                     double cutoffDistance)
                              throws java.io.IOException,
                                     AutomationException
Introduces new vertices into this polyline at the locations on it closest to the input points. Do not consider points farther than cutoffDistance from the polyline.

Specified by:
splitAtPoints in interface IPolycurve2
Parameters:
splitPoints - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
projectOnto - The projectOnto (in)
createParts - The createParts (in)
cutoffDistance - The cutoffDistance (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSplitPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitAtDistances

public IEnumSplitPoint splitAtDistances(int distanceCount,
                                        double[] distances,
                                        boolean asRatios,
                                        boolean createParts)
                                 throws java.io.IOException,
                                        AutomationException
Introduces new vertices into this polyline at specified distances from the beginning of the polyline.

Specified by:
splitAtDistances in interface IPolycurve2
Parameters:
distanceCount - The distanceCount (in)
distances - The distances (in)
asRatios - The asRatios (in)
createParts - The createParts (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSplitPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

densifyByAngle

public void densifyByAngle(double maxSegmentLength,
                           double maxAngleDeviation)
                    throws java.io.IOException,
                           AutomationException
Converts this polycurve into a piecewise linear approximation of itself. Vertices are introduced at points where the included angle between tangents at those point is maxAngleDeviation.

Specified by:
densifyByAngle in interface IPolycurve2
Parameters:
maxSegmentLength - The maxSegmentLength (in)
maxAngleDeviation - The maxAngleDeviation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLengthGeodetic

public double getLengthGeodetic(int geodeticLineType,
                                ILinearUnit pLU)
                         throws java.io.IOException,
                                AutomationException
Returns length of this polycurve calculated using various types of geodetic methods.

Specified by:
getLengthGeodetic in interface IPolycurveGeodetic
Parameters:
geodeticLineType - A com.esri.arcgis.geometry.esriGeodeticType constant (in)
pLU - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
Returns:
The pLength
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

densifyGeodetic

public void densifyGeodetic(int geodeticLineType,
                            ILinearUnit pLU,
                            int densifyMethod,
                            double densifyParameter)
                     throws java.io.IOException,
                            AutomationException
Constructs different types of geodetic curves. The 'by length' and 'by deviation' densification methods are supported.

Specified by:
densifyGeodetic in interface IPolycurveGeodetic
Parameters:
geodeticLineType - A com.esri.arcgis.geometry.esriGeodeticType constant (in)
pLU - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
densifyMethod - A com.esri.arcgis.geometry.esriCurveDensifyMethod constant (in)
densifyParameter - The densifyParameter (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

geodesicDensify

public void geodesicDensify(double maxSegmentLength)
                     throws java.io.IOException,
                            AutomationException
Densifies and reshapes existing segments so that the output segments follow the shortest ground path connecting input vertices. maxSegmentLength is in the units of the axis of the underlying spheroid of this polyline's gcs (usually meters).

Specified by:
geodesicDensify in interface IPolycurve4
Parameters:
maxSegmentLength - The maxSegmentLength (in)
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.

getAreaGeodetic

public double getAreaGeodetic(int lineType,
                              ILinearUnit pAreaUnit)
                       throws java.io.IOException,
                              AutomationException
The area.

Specified by:
getAreaGeodetic in interface IAreaGeodetic
Parameters:
lineType - A com.esri.arcgis.geometry.esriGeodeticType constant (in)
pAreaUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
Returns:
The area
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getArea3D

public double getArea3D()
                 throws java.io.IOException,
                        AutomationException
The 3D surface area.

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

getCentroid3D

public IPoint getCentroid3D()
                     throws java.io.IOException,
                            AutomationException
A 3D point whose XY coordinates are set to the center of gravity of the shape’s 2D footprint and Z set to the shape’s ZMax.

Specified by:
getCentroid3D in interface IArea3D
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.

getLabelPoint3D

public IPoint getLabelPoint3D()
                       throws java.io.IOException,
                              AutomationException
A point guaranteed to be on this 3D surface area.

Specified by:
getLabelPoint3D in interface IArea3D
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.

queryCentroid3D

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

Specified by:
queryCentroid3D in interface IArea3D
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.

queryLabelPoint3D

public void queryLabelPoint3D(IPoint labelPoint)
                       throws java.io.IOException,
                              AutomationException
Copies to the input point a point guaranteed to be on this 3D surface area.

Specified by:
queryLabelPoint3D in interface IArea3D
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.

findExteriorRing

public IRing findExteriorRing(IRing interiorRing)
                       throws java.io.IOException,
                              AutomationException
Returns the exterior ring containing the specified interior ring.

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

getExteriorRingCount

public int getExteriorRingCount()
                         throws java.io.IOException,
                                AutomationException
The number of exterior rings.

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

queryExteriorRings

public void queryExteriorRings(IRing exteriorRings)
                        throws java.io.IOException,
                               AutomationException
Populates an array with references to all exterior rings. This method does not marshall correctly out-of-proc. Use QueryExteriorRingsEx on the IPolygon2 interface instead.

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

getInteriorRingCount

public int getInteriorRingCount(IRing exteriorRing)
                         throws java.io.IOException,
                                AutomationException
The number of rings interior to the specified exterior ring.

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

queryInteriorRings

public void queryInteriorRings(IRing exteriorRing,
                               IRing interiorRings)
                        throws java.io.IOException,
                               AutomationException
Populates an array with references to rings that are interior to the specified exterior ring. This method does not marshall correctly out-of-proc. Use QueryInteriorRingsEx on the IPolygon2 interface instead.

Specified by:
queryInteriorRings in interface IPolygon
Parameters:
exteriorRing - A reference to a com.esri.arcgis.geometry.IRing (in)
interiorRings - A reference to a com.esri.arcgis.geometry.IRing (in)
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
Closes all rings in this polygon. The resulting polygon may not be simple.

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

simplifyPreserveFromTo

public void simplifyPreserveFromTo()
                            throws java.io.IOException,
                                   AutomationException
Simplifies the polygon and maintains the index location of the from/to point of each ring.

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

queryExteriorRingsEx

public void queryExteriorRingsEx(int numExteriorRingsRequested,
                                 IRing[] exteriorRings)
                          throws java.io.IOException,
                                 AutomationException
Returns an array of references to exterior rings, up to a maximum of the number requested.

Specified by:
queryExteriorRingsEx in interface IPolygon2
Parameters:
numExteriorRingsRequested - The numExteriorRingsRequested (in)
exteriorRings - A reference to a com.esri.arcgis.geometry.IRing (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryInteriorRingsEx

public void queryInteriorRingsEx(IRing exteriorRing,
                                 int numInteriorRingsRequested,
                                 IRing[] interiorRings)
                          throws java.io.IOException,
                                 AutomationException
Returns an array of references to rings that are interior to the specified exterior ring, up to a maximum of the number requested.

Specified by:
queryInteriorRingsEx in interface IPolygon2
Parameters:
exteriorRing - A reference to a com.esri.arcgis.geometry.IRing (in)
numInteriorRingsRequested - The numInteriorRingsRequested (in)
interiorRings - A reference to a com.esri.arcgis.geometry.IRing (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConnectedComponents

public void getConnectedComponents(int numComponentsRequested,
                                   IPolygon[] components)
                            throws java.io.IOException,
                                   AutomationException
Populates an array with polygons that represent connected components of the original. The rings of the output polygons are references to rings in the original.

Specified by:
getConnectedComponents in interface IPolygon2
Parameters:
numComponentsRequested - The numComponentsRequested (in)
components - A reference to a com.esri.arcgis.geometry.IPolygon (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutermostComponents

public void getOutermostComponents(int numComponentsRequested,
                                   int[] numComponentsReturned,
                                   IPolygon[] components,
                                   boolean[] moreComponentsExist)
                            throws java.io.IOException,
                                   AutomationException
Populates an array with polygons that represent outermost components of the original and all components within (islands within lakes). The rings of the output polygons are references to rings in the original.

Specified by:
getOutermostComponents in interface IPolygon2
Parameters:
numComponentsRequested - The numComponentsRequested (in)
numComponentsReturned - The numComponentsReturned (out: use single element array)
components - A reference to a com.esri.arcgis.geometry.IPolygon (out: use single element array)
moreComponentsExist - The moreComponentsExist (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

simplifySpaghetti

public void simplifySpaghetti()
                       throws java.io.IOException,
                              AutomationException
Simplifies a polygon but doesn't assume that rings need to be explicitly closed.

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

simplifyEx

public void simplifyEx(boolean preserveFromToPoints,
                       boolean closeRings,
                       boolean useXORRule)
                throws java.io.IOException,
                       AutomationException
Same as ITopologicalOperator::Simplify, but with some additional options that affect performance and how the interior is classified.

Specified by:
simplifyEx in interface IPolygon4
Parameters:
preserveFromToPoints - The preserveFromToPoints (in)
closeRings - The closeRings (in)
useXORRule - The useXORRule (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExteriorRingBag

public IGeometryBag getExteriorRingBag()
                                throws java.io.IOException,
                                       AutomationException
Creates and returns a geometry bag that contains references to all exterior rings.

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

getInteriorRingBag

public IGeometryBag getInteriorRingBag(IRing exteriorRing)
                                throws java.io.IOException,
                                       AutomationException
Creates and returns a geometry bag that contains references to all rings that are interior to the specified exterior ring.

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

getConnectedComponentBag

public IGeometryBag getConnectedComponentBag()
                                      throws java.io.IOException,
                                             AutomationException
Creates and returns a geometry bag containing polygons that represent connected components of the original. The rings of the output polygons are references to rings in the original.

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

getOutermostComponentBag

public IGeometryBag getOutermostComponentBag()
                                      throws java.io.IOException,
                                             AutomationException
Creates and returns a geometry bag containing polygons that represent outermost components of the original and all components within (islands within lakes). The rings of the output polygons are references to rings in the original.

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

isEnvelope

public boolean isEnvelope()
                   throws java.io.IOException,
                          AutomationException
Returns true if the shape of this polygon is equivalent to the polygon's bounding envelope.

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

isMAware

public boolean isMAware()
                 throws java.io.IOException,
                        AutomationException
Indicates whether or not the geometry is aware of and capable of handling Ms.

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

setMAware

public void setMAware(boolean mAware)
               throws java.io.IOException,
                      AutomationException
Indicates whether or not the geometry is aware of and capable of handling Ms.

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

isMSimple

public boolean isMSimple()
                  throws java.io.IOException,
                         AutomationException
Indicates if all the Ms are valid numbers.

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

dropMs

public void dropMs()
            throws java.io.IOException,
                   AutomationException
Sets all the M values to a non-valid number (NaN).

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

getMMin

public double getMMin()
               throws java.io.IOException,
                      AutomationException
The minimum M value.

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

getMMax

public double getMMax()
               throws java.io.IOException,
                      AutomationException
The maximum M value.

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

multiplyMs

public void multiplyMs(double factor)
                throws java.io.IOException,
                       AutomationException
Multiplies all the M values by a factor.

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

offsetMs

public void offsetMs(double offset)
              throws java.io.IOException,
                     AutomationException
Offsets all the M values by an offset value.

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

getMMonotonic

public int getMMonotonic()
                  throws java.io.IOException,
                         AutomationException
A value indicating whether Ms are monotonic, and if so, whether they are ascending or descending.

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

getMsAtDistance

public java.lang.Object getMsAtDistance(double distance,
                                        boolean asRatio)
                                 throws java.io.IOException,
                                        AutomationException
Returns M values at the distance along the geometry. An array of one or two Ms is returned. Two Ms can be returned if the given distance is exactly at the beginning or ending of a part.

Specified by:
getMsAtDistance in interface IMSegmentation
Parameters:
distance - The distance (in)
asRatio - The asRatio (in)
Returns:
A Variant
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertMAtDistance

public void insertMAtDistance(double m,
                              double distance,
                              boolean asRatio,
                              boolean createPart,
                              boolean[] splitHappened,
                              int[] newPartIndex,
                              int[] newSegmentIndex)
                       throws java.io.IOException,
                              AutomationException
Sets the M value at the given distance along the geometry; creates a point at that distance if no point exists there.

Specified by:
insertMAtDistance in interface IMSegmentation
Parameters:
m - The m (in)
distance - The distance (in)
asRatio - The asRatio (in)
createPart - The createPart (in)
splitHappened - The splitHappened (out: use single element array)
newPartIndex - The newPartIndex (out: use single element array)
newSegmentIndex - The newSegmentIndex (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDistancesAtM

public java.lang.Object getDistancesAtM(boolean asRatio,
                                        double m)
                                 throws java.io.IOException,
                                        AutomationException
Returns an array of distances along the polyline at which is located the specified M. If the geometry's M's are monotonic along the geometry then the array will only have one element.

Specified by:
getDistancesAtM in interface IMSegmentation
Parameters:
asRatio - The asRatio (in)
m - The m (in)
Returns:
A Variant
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reverseMsOrder

public void reverseMsOrder()
                    throws java.io.IOException,
                           AutomationException
Reverses the order of the Ms along the geometry.

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

interpolateMsBetween

public void interpolateMsBetween(int fromPart,
                                 int fromPoint,
                                 int toPart,
                                 int toPoint)
                          throws java.io.IOException,
                                 AutomationException
Generates Ms by linear interpolation of segment distances for all vertices in the range [start+1, end-1].

Specified by:
interpolateMsBetween in interface IMSegmentation
Parameters:
fromPart - The fromPart (in)
fromPoint - The fromPoint (in)
toPart - The toPart (in)
toPoint - The toPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAndInterpolateMsBetween

public void setAndInterpolateMsBetween(double fromM,
                                       double toM)
                                throws java.io.IOException,
                                       AutomationException
Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values.

Specified by:
setAndInterpolateMsBetween in interface IMSegmentation
Parameters:
fromM - The fromM (in)
toM - The toM (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMsAsDistance

public void setMsAsDistance(boolean asRatio)
                     throws java.io.IOException,
                            AutomationException
Sets the M values to the cumulative length from the origin of the geometry.

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

extrapolateMs

public void extrapolateMs(int extrapolationStyle,
                          int fromPart,
                          int fromPoint,
                          int toPart,
                          int toPoint)
                   throws java.io.IOException,
                          AutomationException
Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.

Specified by:
extrapolateMs in interface IMSegmentation
Parameters:
extrapolationStyle - A com.esri.arcgis.geometry.esriExtrapolationEnum constant (in)
fromPart - The fromPart (in)
fromPoint - The fromPoint (in)
toPart - The toPart (in)
toPoint - The toPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

calculateNonSimpleMs

public void calculateNonSimpleMs()
                          throws java.io.IOException,
                                 AutomationException
Redefines the non-simple Ms to be values obtained from interpolation of surrounding defined Ms, or extrapolation of Ms.

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

getPointsAtM

public IGeometryCollection getPointsAtM(double m,
                                        double lateralOffset)
                                 throws java.io.IOException,
                                        AutomationException
Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.

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

getSubcurveBetweenMs

public IGeometryCollection getSubcurveBetweenMs(double fromM,
                                                double toM)
                                         throws java.io.IOException,
                                                AutomationException
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.

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

isZAware

public boolean isZAware()
                 throws java.io.IOException,
                        AutomationException
Indicates whether or not the geometry is aware of and capable of handling Zs.

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

setZAware

public void setZAware(boolean zAware)
               throws java.io.IOException,
                      AutomationException
Indicates whether or not the geometry is aware of and capable of handling Zs.

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

isZSimple

public boolean isZSimple()
                  throws java.io.IOException,
                         AutomationException
Indicates if all the Zs are valid numbers.

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

dropZs

public void dropZs()
            throws java.io.IOException,
                   AutomationException
Sets all the Z values to a non-valid number (NaN).

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

getZMin

public double getZMin()
               throws java.io.IOException,
                      AutomationException
The minimum Z value.

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

getZMax

public double getZMax()
               throws java.io.IOException,
                      AutomationException
The maximum Z value.

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

multiplyZs

public void multiplyZs(double factor)
                throws java.io.IOException,
                       AutomationException
Multiplies all the Z values by a factor.

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

offsetZs

public void offsetZs(double offset)
              throws java.io.IOException,
                     AutomationException
Offsets all the Z values by an offset value.

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

isZVertical

public boolean isZVertical()
                    throws java.io.IOException,
                           AutomationException
Indicates if at least two consecutive vertices of this polyline or polygon have the same x and y values, but distinct z values.

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

interpolateFromSurface

public void interpolateFromSurface(IFunctionalSurface interpolationSurface)
                            throws java.io.IOException,
                                   AutomationException
Use the specified functional surface to generate Z values for the vertices of this object.

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

interpolateZsBetween

public void interpolateZsBetween(int startPart,
                                 int startPoint,
                                 int endPart,
                                 int endPoint)
                          throws java.io.IOException,
                                 AutomationException
Generate Z values by linear interpolation for all vertices in the range [start+1, end-1].

Specified by:
interpolateZsBetween in interface IZ
Parameters:
startPart - The startPart (in)
startPoint - The startPoint (in)
endPart - The endPart (in)
endPoint - The endPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

calculateNonSimpleZs

public void calculateNonSimpleZs()
                          throws java.io.IOException,
                                 AutomationException
Calculates the non-simple Z values by extrapolation/interpolation for polylines and interpolation for polygons.

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

setConstantZ

public void setConstantZ(double zLevel)
                  throws java.io.IOException,
                         AutomationException
Sets Z coordinates at all vertices to zLevel.

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

setNonSimpleZs

public void setNonSimpleZs(double zLevel)
                    throws java.io.IOException,
                           AutomationException
Replaces undefined (nonsimple) Z values with the specified constant value.

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

isPointIDAware

public boolean isPointIDAware()
                       throws java.io.IOException,
                              AutomationException
Indicates whether or not the geometry is aware of and capable of handling PointIDs.

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

setPointIDAware

public void setPointIDAware(boolean idAware)
                     throws java.io.IOException,
                            AutomationException
Indicates whether or not the geometry is aware of and capable of handling PointIDs.

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

isPointIDSimple

public boolean isPointIDSimple()
                        throws java.io.IOException,
                               AutomationException
Indicates if all PointID values for this geometry are well-defined. Only works if geometry is aware of PointIDs.

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

dropPointIDs

public void dropPointIDs()
                  throws java.io.IOException,
                         AutomationException
Unsets all PointID values without changing awareness. Only works if geometry is aware of PointIDs.

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

checkInvalidate

public void checkInvalidate()
                     throws java.io.IOException,
                            AutomationException
Invalidates the spatial index if the geometry has been changed since the index was last constructed.

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

setAllowIndexing

public void setAllowIndexing(boolean allowIndexing)
                      throws java.io.IOException,
                             AutomationException
Indicates whether to allow a spatial index to be created for this geometry.

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

isAllowIndexing

public boolean isAllowIndexing()
                        throws java.io.IOException,
                               AutomationException
Indicates whether to allow a spatial index to be created for this geometry.

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

invalidate

public void invalidate()
                throws java.io.IOException,
                       AutomationException
Invalidate the spatial index.

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

esri_equals

public boolean esri_equals(IGeometry other)
                    throws java.io.IOException,
                           AutomationException
Indicates if the two geometries are of the same type and define the same set of points in the plane.

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

touches

public boolean touches(IGeometry other)
                throws java.io.IOException,
                       AutomationException
Indicates if the boundaries of the geometries intersect.

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

contains

public boolean contains(IGeometry other)
                 throws java.io.IOException,
                        AutomationException
Indicates if this geometry contains the other geometry.

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

within

public boolean within(IGeometry other)
               throws java.io.IOException,
                      AutomationException
Indicates if this geometry is contained (is within) another geometry.

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

disjoint

public boolean disjoint(IGeometry other)
                 throws java.io.IOException,
                        AutomationException
Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.

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

crosses

public boolean crosses(IGeometry other)
                throws java.io.IOException,
                       AutomationException
Indicates if the two geometries intersect in a geometry of lesser dimension.

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

overlaps

public boolean overlaps(IGeometry other)
                 throws java.io.IOException,
                        AutomationException
Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.

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

relation

public boolean relation(IGeometry other,
                        java.lang.String relationDescription)
                 throws java.io.IOException,
                        AutomationException
Indicates if the defined relationship exists.

Specified by:
relation in interface IRelationalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relationDescription - The relationDescription (in)
Returns:
The relationResult
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryNearestPoint

public void queryNearestPoint(IPoint p,
                              int extension,
                              IPoint nearest)
                       throws java.io.IOException,
                              AutomationException
Copies into 'nearest' a point on this geometry nearest to the input point.

Specified by:
queryNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
nearest - 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.

returnNearestPoint

public IPoint returnNearestPoint(IPoint p,
                                 int extension)
                          throws java.io.IOException,
                                 AutomationException
Creates and returns a point on this geometry nearest to the input point.

Specified by:
returnNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (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.

returnDistance

public double returnDistance(IGeometry other)
                      throws java.io.IOException,
                             AutomationException
Returns the minimum distance between two geometries.

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

containsEx

public boolean containsEx(IGeometry pOther,
                          int relation)
                   throws java.io.IOException,
                          AutomationException
Indicates if this geometry contains the other geometry, optionally using Celementini's definition.

Specified by:
containsEx in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relation - A com.esri.arcgis.geometry.esriSpatialRelationExEnum constant (in)
Returns:
The pbContains
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

withinEx

public boolean withinEx(IGeometry pOther,
                        int relation)
                 throws java.io.IOException,
                        AutomationException
Indicates if this geometry contains the other geometry, optionally using Celementini's definition.

Specified by:
withinEx in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
relation - A com.esri.arcgis.geometry.esriSpatialRelationExEnum constant (in)
Returns:
The pbWithin
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNear

public boolean isNear(IGeometry pOther,
                      double distance)
               throws java.io.IOException,
                      AutomationException
Indicates if this geometry is within distance from the other geometry.

Specified by:
isNear in interface IRelationalOperator2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
distance - The distance (in)
Returns:
The pbNear
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSimple

public boolean isSimple()
                 throws java.io.IOException,
                        AutomationException
Indicates whether this geometry is known (or assumed) to be topologically correct, after explicitly determining this if the geometry is not already known (or assumed) to be simple.

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

isKnownSimple

public boolean isKnownSimple()
                      throws java.io.IOException,
                             AutomationException
Indicates whether this geometry is known (or assumed) to be topologically correct.

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

simplify

public void simplify()
              throws java.io.IOException,
                     AutomationException
Makes this geometry topologically correct.

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

buffer

public IGeometry buffer(double distance)
                 throws java.io.IOException,
                        AutomationException
Constructs a polygon that is the locus of points at a distance less than or equal to a specified distance from this geometry.

Specified by:
buffer in interface ITopologicalOperator
Parameters:
distance - The distance (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.

convexHull

public IGeometry convexHull()
                     throws java.io.IOException,
                            AutomationException
Constructs the convex hull of this geometry.

Specified by:
convexHull in interface ITopologicalOperator
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.

intersect

public IGeometry intersect(IGeometry other,
                           int resultDimension)
                    throws java.io.IOException,
                           AutomationException
Constructs the geometry that is the set-theoretic intersection of the input geometries. Use different resultDimension values to generate results of different dimensions.

Specified by:
intersect in interface ITopologicalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
resultDimension - A com.esri.arcgis.geometry.esriGeometryDimension constant (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.

union

public IGeometry union(IGeometry other)
                throws java.io.IOException,
                       AutomationException
Constructs the geometry that is the set-theoretic union of the input geometries.

Specified by:
union in interface ITopologicalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (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.

constructUnion

public void constructUnion(IEnumGeometry geometries)
                    throws java.io.IOException,
                           AutomationException
Defines this geometry to be the union of the inputs. More efficient for unioning multiple geometries than calling Union repeatedly.

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

difference

public IGeometry difference(IGeometry other)
                     throws java.io.IOException,
                            AutomationException
Constructs the geometry containing points from this geometry but not the other geometry.

Specified by:
difference in interface ITopologicalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (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.

symmetricDifference

public IGeometry symmetricDifference(IGeometry other)
                              throws java.io.IOException,
                                     AutomationException
Constructs the geometry that contains points from either but not both input geometries.

Specified by:
symmetricDifference in interface ITopologicalOperator
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (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.

clip

public void clip(IEnvelope clipperEnvelope)
          throws java.io.IOException,
                 AutomationException
Constructs the intersection of this geometry and the specified envelope.

Specified by:
clip in interface ITopologicalOperator
Parameters:
clipperEnvelope - 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.

queryClipped

public void queryClipped(IEnvelope clipperEnvelope,
                         IGeometry clippedGeometry)
                  throws java.io.IOException,
                         AutomationException
Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope.

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

queryClippedDense

public void queryClippedDense(IEnvelope clipperEnvelope,
                              double denseDistance,
                              IGeometry clippedGeometry)
                       throws java.io.IOException,
                              AutomationException
Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope; densifies lines in the output contributed by the clipping envelope.

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

cut

public void cut(IPolyline cutter,
                IGeometry[] leftGeom,
                IGeometry[] rightGeom)
         throws java.io.IOException,
                AutomationException
Splits this geometry into a part left of the cutting polyline, and a part right of it.

Specified by:
cut in interface ITopologicalOperator
Parameters:
cutter - A reference to a com.esri.arcgis.geometry.IPolyline (in)
leftGeom - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
rightGeom - 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.

getBoundary

public IGeometry getBoundary()
                      throws java.io.IOException,
                             AutomationException
The boundary of this geometry. A polygon's boundary is a polyline. A polyline's boundary is a multipoint. A point or multipoint's boundary is an empty point or multipoint.

Specified by:
getBoundary in interface ITopologicalOperator
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.

clipDense

public void clipDense(IEnvelope clipperEnvelope,
                      double denseDistance)
               throws java.io.IOException,
                      AutomationException
Constructs the intersection of this geometry and the specified envelope; densifies lines in output contributed by the clipping envelope.

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

constructBuffers

public IEnumGeometry constructBuffers(int numBuffers,
                                      double[] distances)
                               throws java.io.IOException,
                                      AutomationException
Constructs a set of buffers at various distances. More efficient than calling Buffer repeatedly on the same geometry. This method is intended for internal use only.

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

clipToDomain

public void clipToDomain()
                  throws java.io.IOException,
                         AutomationException
Clips the geometry to the domain of the spatial reference. Useful for ensuring that buffers can be fit within the spatial domain of the feature class to which they are being added.

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

setIsKnownSimple

public void setIsKnownSimple(boolean rhs1)
                      throws java.io.IOException,
                             AutomationException
Indicates whether this geometry is known (or assumed) to be topologically correct.

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

intersectMultidimension

public IGeometry intersectMultidimension(IGeometry other)
                                  throws java.io.IOException,
                                         AutomationException
Constructs the set-theoretic intersection of the inputs. The results are returned in a geometry bag with one element per result dimension.

Specified by:
intersectMultidimension in interface ITopologicalOperator2
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (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.

isSimpleEx

public boolean isSimpleEx(int[] reason)
                   throws java.io.IOException,
                          AutomationException
Determines why a geometry is not simple. Currently only implemented for polygons.

Specified by:
isSimpleEx in interface ITopologicalOperator3
Parameters:
reason - A com.esri.arcgis.geometry.esriNonSimpleReasonEnum constant (out: use single element array)
Returns:
The isSimple
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

geoNormalizeEx

public void geoNormalizeEx(ISpatialReference sR,
                           double denseDistance)
                    throws java.io.IOException,
                           AutomationException
Shifts longitudes, if need be, into a continuous range of 360 degrees.

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

cut2

public IGeometryCollection cut2(IPolyline pCutter)
                         throws java.io.IOException,
                                AutomationException
Divides a geometry into multiple parts

Specified by:
cut2 in interface ITopologicalOperator4
Parameters:
pCutter - A reference to a com.esri.arcgis.geometry.IPolyline (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryCollection
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructUnionEx

public void constructUnionEx(IEnumGeometry pEnum,
                             boolean bNonPlanar)
                      throws java.io.IOException,
                             AutomationException
Defines this geometry to be the union of the inputs, with the option for non-planary result.

Specified by:
constructUnionEx in interface ITopologicalOperator6
Parameters:
pEnum - A reference to a com.esri.arcgis.geometry.IEnumGeometry (in)
bNonPlanar - The bNonPlanar (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

intersectEx

public IGeometry intersectEx(IGeometry other,
                             boolean bNonPlanar,
                             int resultDimension)
                      throws java.io.IOException,
                             AutomationException
Constructs the set-theoretic intersection of the inputs in the specified result dimension, , with the option for non-planary result.

Specified by:
intersectEx in interface ITopologicalOperator6
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
bNonPlanar - The bNonPlanar (in)
resultDimension - A com.esri.arcgis.geometry.esriGeometryDimension constant (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.

unionEx

public IGeometry unionEx(IGeometry other,
                         boolean bNonPlanar)
                  throws java.io.IOException,
                         AutomationException
Constructs the set-theoretic union of the inputs, with the option for non-planary result.

Specified by:
unionEx in interface ITopologicalOperator6
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
bNonPlanar - The bNonPlanar (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.

intersectMultidimensionEx

public IGeometry intersectMultidimensionEx(IGeometry other,
                                           boolean bNonPlanar)
                                    throws java.io.IOException,
                                           AutomationException
Constructs the set-theoretic intersection of the inputs. The results are returned in a geometry bag with one element per result dimension.

Specified by:
intersectMultidimensionEx in interface ITopologicalOperator6
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
bNonPlanar - The bNonPlanar (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.

differenceEx

public IGeometry differenceEx(IGeometry other,
                              boolean bNonPlanar)
                       throws java.io.IOException,
                              AutomationException
defined for (multi)points and polylines.

Specified by:
differenceEx in interface ITopologicalOperator6
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
bNonPlanar - The bNonPlanar (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.

symmetricDifferenceEx

public IGeometry symmetricDifferenceEx(IGeometry other,
                                       boolean bNonPlanar)
                                throws java.io.IOException,
                                       AutomationException
defined for (multi)points and polylines.

Specified by:
symmetricDifferenceEx in interface ITopologicalOperator6
Parameters:
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
bNonPlanar - The bNonPlanar (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.

simplifyAsFeature

public void simplifyAsFeature()
                       throws java.io.IOException,
                              AutomationException
Simplifies the geometry using the rules appropriate for this feature.

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

hitTest

public boolean hitTest(IPoint queryPoint,
                       double searchRadius,
                       int geometryPart,
                       IPoint hitPoint,
                       double[] hitDistance,
                       int[] hitPartIndex,
                       int[] hitSegmentIndex,
                       boolean[] bRightSide)
                throws java.io.IOException,
                       AutomationException
Locates a part of a geometry closest to a query point. Any located part must be within searchRadius units from the query point.

Specified by:
hitTest in interface IHitTest
Parameters:
queryPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
searchRadius - The searchRadius (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
hitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
hitDistance - The hitDistance (in/out: use single element array)
hitPartIndex - The hitPartIndex (in/out: use single element array)
hitSegmentIndex - The hitSegmentIndex (in/out: use single element array)
bRightSide - The bRightSide (in/out: use single element array)
Returns:
The bHit
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTest3D

public boolean hitTest3D(IPoint queryPoint,
                         double searchRadius,
                         int geometryPart,
                         IPoint hitPoint,
                         double[] hitDistance,
                         int[] hitPartIndex,
                         int[] hitSegmentIndex)
                  throws java.io.IOException,
                         AutomationException
Locates a part of a geometry closest to a query point. Any located part must be within searchRadius units from the query point.

Specified by:
hitTest3D in interface IHitTest3D
Parameters:
queryPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
searchRadius - The searchRadius (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
hitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
hitDistance - The hitDistance (in/out: use single element array)
hitPartIndex - The hitPartIndex (in/out: use single element array)
hitSegmentIndex - The hitSegmentIndex (in/out: use single element array)
Returns:
The bHit
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hitTestCone

public boolean hitTestCone(IRay pQueryRay,
                           double minAngle,
                           int geometryPart,
                           IPoint pHitPoint,
                           double[] pHitDistance,
                           int[] pHitPartIndex,
                           int[] pHitSegmentIndex)
                    throws java.io.IOException,
                           AutomationException
Locates a part of a geometry closest to a query ray.

Specified by:
hitTestCone in interface IHitTest3D
Parameters:
pQueryRay - A reference to a com.esri.arcgis.geometry.IRay (in)
minAngle - The minAngle (in)
geometryPart - A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
pHitPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
pHitDistance - The pHitDistance (in/out: use single element array)
pHitPartIndex - The pHitPartIndex (in/out: use single element array)
pHitSegmentIndex - The pHitSegmentIndex (in/out: use single element array)
Returns:
The pbHit
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructOffset

public void constructOffset(IPolycurve inCurve,
                            double offset,
                            java.lang.Object offsetHow,
                            java.lang.Object bevelRatio)
                     throws java.io.IOException,
                            AutomationException
Constructs a curve being the locus of points offset a given distance from another curve. See the enumeration esriConstructOffsetEnum to information on different ways that offset curve can be generated.

Specified by:
constructOffset in interface IConstructCurve
Parameters:
inCurve - A reference to a com.esri.arcgis.geometry.IPolycurve (in)
offset - The offset (in)
offsetHow - A Variant (in, optional, pass null if not required)
bevelRatio - 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.

constructKoch

public void constructKoch(IPolycurve p,
                          double r,
                          int recursionLevel)
                   throws java.io.IOException,
                          AutomationException
Constructs a Koch snowflake fractal using the input polycurve as the generator. 'r' is not used. Do not use a value for recursionLevel > 10.

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

constructExtended

public void constructExtended(ICurve fromCurve,
                              ICurve toCurve,
                              int extensionFlags,
                              boolean[] extensionsPerformed)
                       throws java.io.IOException,
                              AutomationException
Constructs an extended version of the 'from' curve that goes to the 'to' curve. The flags are bit-wise combined esriCurveExtension values.

Specified by:
constructExtended in interface IConstructCurve
Parameters:
fromCurve - A reference to a com.esri.arcgis.geometry.ICurve (in)
toCurve - A reference to a com.esri.arcgis.geometry.ICurve (in)
extensionFlags - The extensionFlags (in)
extensionsPerformed - The extensionsPerformed (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

approximateByBeziers

public void approximateByBeziers(IPolycurve pInCurve,
                                 java.lang.Object pMaxDistance,
                                 java.lang.Object smoothClosedParts)
                          throws java.io.IOException,
                                 AutomationException
Constructs a curve which approximates the input curve by a small number of Bezier segments.

Specified by:
approximateByBeziers in interface IConstructCurve2
Parameters:
pInCurve - A reference to a com.esri.arcgis.geometry.IPolycurve (in)
pMaxDistance - A Variant (in, optional, pass null if not required)
smoothClosedParts - 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.

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.

getClassID

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

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

isDirty

public void isDirty()
             throws java.io.IOException,
                    AutomationException
isDirty

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

load

public void load(IStream pstm)
          throws java.io.IOException,
                 AutomationException
load

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

save

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

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

getSizeMax

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

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
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.

snap

public void snap()
          throws java.io.IOException,
                 AutomationException
Snaps ms to the precision of the spatial reference associated with the geometry. M snapping does not happen automatically as part of calling IGeometry::SnapToSpatialReference.

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

densify3D

public void densify3D(double maxSegmentLength,
                      double maxDeviation)
               throws java.io.IOException,
                      AutomationException
Converts this Polycurve into a piecewise linear approximation of itself.

Specified by:
densify3D in interface IPolycurve3D
Parameters:
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

generalize3D

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

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

weed3D

public void weed3D(double maxAllowableOffsetFactor)
            throws java.io.IOException,
                   AutomationException
Generalizes using a small tolerance based upon either the system units of the geometry's spatial reference, or the geometry's bounding box.

Specified by:
weed3D in interface IPolycurve3D
Parameters:
maxAllowableOffsetFactor - The maxAllowableOffsetFactor (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.

queryNearestPoint3D

public void queryNearestPoint3D(IPoint pInP,
                                int extension,
                                IPoint pNearest)
                         throws java.io.IOException,
                                AutomationException
Copies into 'nearest' a point on this geometry nearest to the input point.

Specified by:
queryNearestPoint3D in interface IProximityOperator3D
Parameters:
pInP - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
pNearest - 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.

returnNearestPoint3D

public IPoint returnNearestPoint3D(IPoint pInP,
                                   int extension)
                            throws java.io.IOException,
                                   AutomationException
Creates and returns a point on this geometry nearest to the input point.

Specified by:
returnNearestPoint3D in interface IProximityOperator3D
Parameters:
pInP - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (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.

returnDistance3D

public double returnDistance3D(IGeometry pOther)
                        throws java.io.IOException,
                               AutomationException
Returns the minimal distance between two geometries.

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

disjoint3D

public boolean disjoint3D(IGeometry pOther)
                   throws java.io.IOException,
                          AutomationException
Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.

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

isNear3D

public boolean isNear3D(IGeometry pOther,
                        double distance)
                 throws java.io.IOException,
                        AutomationException
Indicates if this geometry is within distance from the other geometry; both geometries must have Zs.

Specified by:
isNear3D in interface IRelationalOperator3D2
Parameters:
pOther - A reference to a com.esri.arcgis.geometry.IGeometry (in)
distance - The distance (in)
Returns:
The pbNear
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

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

readExternal

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