com.esri.arcgis.geometry
Class Polyline

java.lang.Object
  extended by com.esri.arcgis.geometry.Polyline
All Implemented Interfaces:
IConstructCurve, IConstructCurve2, IConstructCurve3, IConstructGeodetic, ICurve, ICurve2, ICurve3, ICurve3D, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, IGeometryCollection, IHitTest, IHitTest3D, IMAware, IMCollection, IMSegmentation, IMSegmentation2, IMSegmentation3, IMSegmentation4, IMSnap, IPointCollection, IPointCollection2, IPointCollection3, IPointCollection4, IPointIDAware, IPolycurve, IPolycurve2, IPolycurve3D, IPolycurve4, IPolycurveGeodetic, IPolyline, IPolyline2, IPolyline3, IPolyline4, IPolyline5, IProximityOperator, IProximityOperator3D, IRelationalOperator, IRelationalOperator2, IRelationalOperator3D, IRelationalOperator3D2, ISegmentCollection, ISpatialIndex, ISpatialIndex2, ITopologicalOperator, ITopologicalOperator2, ITopologicalOperator3, ITopologicalOperator4, ITopologicalOperator5, 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 Polyline
extends java.lang.Object
implements com.esri.arcgis.interop.RemoteObjRef, IPointCollection, IPointCollection4, IGeometry, IGeometry2, IGeometry3, IGeometry4, IGeometry5, ISegmentCollection, IGeometryCollection, ICurve, ICurve2, ICurve3, IPolycurve, IPolycurve2, IPolycurveGeodetic, IConstructGeodetic, IPolyline, IPolyline2, IPolyline3, IPolyline4, IPolyline5, IMAware, IMCollection, IMSegmentation, IMSegmentation2, IMSegmentation3, IMSegmentation4, IZAware, IZCollection, IZ, IZ2, IPointIDAware, ISpatialIndex2, IRelationalOperator, IRelationalOperator2, IProximityOperator, ITopologicalOperator, ITopologicalOperator2, ITopologicalOperator3, ITopologicalOperator5, ITopologicalOperator6, IHitTest, IHitTest3D, IConstructCurve, IConstructCurve2, IConstructCurve3, ISupportErrorInfo, IPersist, IPersistStream, IClone, ITransform2D, ITransform3D, IXMLSerialize, IMSnap, IPolycurve3D, ICurve3D, IProximityOperator3D, IRelationalOperator3D, IRelationalOperator3D2, java.io.Externalizable

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

Description 'An ordered collection of paths; 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.ICurve3
IID, IIDea7ab50b_1a9d_11d6_9fa9_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve2
IID058def33_2848_11d4_9f82_00c04f6bc8e8
 
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.IConstructGeodetic
IID, IIDbda1eef8_15a0_47cf_91a8_06d4287086ce, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolyline5
IID, IIDc6a70c30_f30a_4649_8c01_48dfdfa97c2a, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IPolyline4
IID5fa07d6c_d2b7_4a83_870a_0fb8155a4376
 
Fields inherited from interface com.esri.arcgis.geometry.IPolyline3
IID88af3cf5_75b6_4ef2_91db_7e9eaff81f27
 
Fields inherited from interface com.esri.arcgis.geometry.IPolyline2
IID7a5ae276_1230_11d4_9f72_00c04f6bdd7f
 
Fields inherited from interface com.esri.arcgis.geometry.IPolyline
IIDf2485894_4cbd_11d1_834e_0000f8775be9
 
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.IMAware
IID, IID52c59396_d744_11d2_9f34_00c04f6bdf06, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IMSegmentation4
IID, IID0aa29b2f_a1ad_448c_9b13_2aa06d14c022, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IMSegmentation3
IID58ad0d5d_393d_44aa_9797_6e50d06ed524
 
Fields inherited from interface com.esri.arcgis.geometry.IMSegmentation2
IIDb80d4790_f452_11d3_9f69_00c04f6bdd7f
 
Fields inherited from interface com.esri.arcgis.geometry.IMSegmentation
IIDfd5e17ec_d717_11d2_9f34_00c04f6bdf06
 
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.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.IProximityOperator
IID, IID1b07790f_38c5_11d0_92d2_00805f7c28b0, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator5
IID, IID8e98af7f_791e_419e_ba0b_60ba36b27639, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ITopologicalOperator4
IID6aba2e62_630e_4d93_86ca_3d397c28cf44
 
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.IConstructCurve3
IID, IIDf45ae5d3_5a1d_4c09_8512_bd22b79bdc12, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IConstructCurve2
IID4a877e3c_ba67_4f78_b1ef_a728c968d787
 
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
Polyline()
          Constructs a Polyline using ArcGIS Engine.
Polyline(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Polyline thePolyline = (Polyline) 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.
 IEnumSplitPoint calibrateByDistance(IEnumVertex points, int updateHow, boolean ignoreGaps, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points.
 IEnumSplitPoint calibrateByDistance3D(IEnumVertex points, int updateHow, boolean ignoreGaps, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and the shortest 3D path distances along the polyline between those points.
 IEnumSplitPoint calibrateByMs(IEnumVertex points, int updateHow, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points.
 IEnumSplitPoint calibrateByMs3D(IEnumVertex points, int updateHow, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along the shortest 3D paths between those points.
 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 clipEx(IEnvelope clipperEnvelope, boolean bIncludeBoundary)
          Constructs the intersection of this geometry and the specified envelope.
 void clipToDomain()
          Clips the geometry to the domain of the spatial reference.
 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.
 IEnumSegment constructExtendedEx(ICurve fromCurve, ICurve toCurve, int extensionFlags, boolean[] extensionsPerformed)
          Returns an enumerator which identifies which segments were added to the result polyline by the construction process.
 void constructGeodesicCircle(IPoint centerPoint, ILinearUnit linearUnit, double radius, int densifyMethod, double densifyParameter)
          constructs a geodesic circle centered on the specified point.
 void constructGeodesicEllipse(IPoint centerPoint, ILinearUnit linearUnit, double semiMajorAxisLength, double semiMinorAxisLength, double semiMajorAxisAzimuth, int densifyMethod, double densifyParameter)
          constructs a geodesic ellipse with origin at the specified point and semi major axis oriented according to the specified azimuth.
 void constructGeodeticLineFromDistance(int geodeticLineType, IPoint fromPoint, ILinearUnit linearUnit, double length, double azimuth, int densifyMethod, double densifyParameter)
          constructs a geodetic line with the specified length and azimuth.
 void constructGeodeticLineFromPoints(int geodeticLineType, IPoint fromPoint, IPoint toPoint, ILinearUnit linearUnit, int densifyMethod, double densifyParameter)
          Constructs a geodetic line connecting the specified points.
 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.
 void extrapolateMs3D(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.
 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.
 IGeometry getBoundary()
          The boundary of this geometry.
 IPoint getCentroidEx()
          The center of gravity (centroid).
 void getClassID(GUID[] pClassID)
          getClassID
static java.lang.String getClsid()
          getClsid.
 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.
 java.lang.Object getDistancesAtM3D(boolean asRatio, double m)
          Returns an array of 3D 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.
 IEnumSegment getEnumShortestPath(int fromPart, int fromPoint, int toPart, int toPoint)
          Not implemented.
 IEnumVertex getEnumVertices()
          A new enumerator for this point collection.
 IEnvelope getEnvelope()
          Creates a copy of this geometry's envelope and returns it.
 IPoint getFromPoint()
          The 'from' point of the curve.
 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.
 com.esri.arcgis.interop.Dispatch getJintegraDispatch()
          Deprecated. Internal use only.
 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.
 int getMMonotonicity()
          A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.
 java.lang.Object getMsAtDistance(double distance, boolean asRatio)
          Returns M values at the distance along the geometry.
 java.lang.Object getMsAtDistance3D(double distance, boolean asRatio)
          Returns M values at the 3D distance along the geometry.
 IGeometryCollection getNormalsAtM(double m, double length)
          Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.
 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.
 IGeometryCollection getPointsAtM3D(double m, IVector3D offset)
          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.
 IGeometryCollection getSubcurveBetweenMs3D(double fromM, double toM)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.
 IGeometryCollection getSubcurveBetweenMsEx(double fromM, double toM, int[] fromMDetails, int[] toMDetails)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values.
 IGeometryCollection getSubcurveBetweenMsEx3D(double fromM, double toM, int[] fromMDetails, int[] toMDetails)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values.
 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 insertMAtDistance3D(double m, double distance, boolean asRatio, boolean createPart, boolean[] splitHappened, int[] newPartIndex, int[] newSegmentIndex)
          Sets the M value at the given 3D 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 interpolateMsBetween3D(int fromPart, int fromPoint, int toPart, int toPoint)
          Generates Ms by linear interpolation of 3D 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 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.
 void orientByMs()
          Re-orients the curve to make Ms non-decreasing, if possible.
 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 putCoordsEx(IPoint from, IPoint to)
          Sets this segment's endpoints to 'from' and 'to'.
 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 queryFirstLastM(double[] firstM, double[] lastM)
          Returns the first and last defined M value for the curve.
 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 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 queryPointsAndDistances(int extension, double searchRadius, IPoint inPoint, boolean asRatio, double[] distanceFromCurve, IEnumPointAndDistance[] pointsAndDistances)
          Given an input point, calculates the minimum distance to the geometry and provides an enumerator over all closest points on the geometry, along with additional information.
 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 Polyline.
 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.
 boolean reshape(IPath reshapeSource)
          Modifies this polyline by replacing some of its segments with some segments from reshapeSource.
 boolean reshapeEx(IPath reshapeSource, boolean bInterpolateReshaped)
          If bInterpolateReshaped is true, then new vertices will be interpolated based on vertices from the polyline being reshaped.
 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 setAndInterpolateMsBetween3D(double fromM, double toM)
          Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values based on an interpolation normalized to the 3D length of the shape.
 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 setMsAsDistance2(IPoint origin, double scale, double offset, boolean ignoreGaps)
          Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline.
 void setMsAsDistance3D(boolean asRatio)
          Sets the M values to the cumulative 3D 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 planarSimplify)
          Use either planar or network simplify regardless of current attribute awareness.
 void simplifyNetwork()
          Removes zero length segments (zero in 2 dimensions), merges parts at endpoints that only connect to each other, reorients segments that are pointing against the prevailing orientation for a part.
 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.
 void touchCut(IPolyline pCutter, IGeometry[] ppLeftGeom, IGeometry[] ppRightGeom)
          Cut a polyline at locations where the cutter only touches the polyline, in addition to locations where the cutter crosses it.
 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 updateAllMsByMs(IPoint origin, double scale, double offset, boolean ignoreGaps)
          Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's.
 void updateMsByDistance(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow, boolean ignoreGaps)
          Updates Ms along the shortest path between the specified endpoints.
 void updateMsByMs(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow)
          Updates Ms along the shortest path between the specified endpoints.
 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

Polyline

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

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

Polyline

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

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

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

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.

putCoordsEx

public void putCoordsEx(IPoint from,
                        IPoint to)
                 throws java.io.IOException,
                        AutomationException
Sets this segment's endpoints to 'from' and 'to'.

Specified by:
putCoordsEx in interface ICurve2
Parameters:
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
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.

queryPointsAndDistances

public void queryPointsAndDistances(int extension,
                                    double searchRadius,
                                    IPoint inPoint,
                                    boolean asRatio,
                                    double[] distanceFromCurve,
                                    IEnumPointAndDistance[] pointsAndDistances)
                             throws java.io.IOException,
                                    AutomationException
Given an input point, calculates the minimum distance to the geometry and provides an enumerator over all closest points on the geometry, along with additional information.

Specified by:
queryPointsAndDistances in interface ICurve3
Parameters:
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
searchRadius - The searchRadius (in)
inPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
asRatio - The asRatio (in)
distanceFromCurve - The distanceFromCurve (in/out: use single element array)
pointsAndDistances - A reference to a com.esri.arcgis.geometry.IEnumPointAndDistance (out: use single element array)
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.

constructGeodeticLineFromPoints

public void constructGeodeticLineFromPoints(int geodeticLineType,
                                            IPoint fromPoint,
                                            IPoint toPoint,
                                            ILinearUnit linearUnit,
                                            int densifyMethod,
                                            double densifyParameter)
                                     throws java.io.IOException,
                                            AutomationException
Constructs a geodetic line connecting the specified points. The 'by length' and 'by deviation' densification options are supported.

Specified by:
constructGeodeticLineFromPoints in interface IConstructGeodetic
Parameters:
geodeticLineType - A com.esri.arcgis.geometry.esriGeodeticType constant (in)
fromPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
toPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
linearUnit - 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.

constructGeodeticLineFromDistance

public void constructGeodeticLineFromDistance(int geodeticLineType,
                                              IPoint fromPoint,
                                              ILinearUnit linearUnit,
                                              double length,
                                              double azimuth,
                                              int densifyMethod,
                                              double densifyParameter)
                                       throws java.io.IOException,
                                              AutomationException
constructs a geodetic line with the specified length and azimuth. The 'by length' and 'by deviation' densification options are supported.

Specified by:
constructGeodeticLineFromDistance in interface IConstructGeodetic
Parameters:
geodeticLineType - A com.esri.arcgis.geometry.esriGeodeticType constant (in)
fromPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
linearUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
length - The length (in)
azimuth - The azimuth (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.

constructGeodesicCircle

public void constructGeodesicCircle(IPoint centerPoint,
                                    ILinearUnit linearUnit,
                                    double radius,
                                    int densifyMethod,
                                    double densifyParameter)
                             throws java.io.IOException,
                                    AutomationException
constructs a geodesic circle centered on the specified point. All densification options are supported (length, angle, deviation).

Specified by:
constructGeodesicCircle in interface IConstructGeodetic
Parameters:
centerPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
linearUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
radius - The radius (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.

constructGeodesicEllipse

public void constructGeodesicEllipse(IPoint centerPoint,
                                     ILinearUnit linearUnit,
                                     double semiMajorAxisLength,
                                     double semiMinorAxisLength,
                                     double semiMajorAxisAzimuth,
                                     int densifyMethod,
                                     double densifyParameter)
                              throws java.io.IOException,
                                     AutomationException
constructs a geodesic ellipse with origin at the specified point and semi major axis oriented according to the specified azimuth. The 'by angle' and 'by deviation' densification options are supported.

Specified by:
constructGeodesicEllipse in interface IConstructGeodetic
Parameters:
centerPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
linearUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
semiMajorAxisLength - The semiMajorAxisLength (in)
semiMinorAxisLength - The semiMinorAxisLength (in)
semiMajorAxisAzimuth - The semiMajorAxisAzimuth (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.

reshape

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

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

simplifyNetwork

public void simplifyNetwork()
                     throws java.io.IOException,
                            AutomationException
Removes zero length segments (zero in 2 dimensions), merges parts at endpoints that only connect to each other, reorients segments that are pointing against the prevailing orientation for a part.

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

getEnumShortestPath

public IEnumSegment getEnumShortestPath(int fromPart,
                                        int fromPoint,
                                        int toPart,
                                        int toPoint)
                                 throws java.io.IOException,
                                        AutomationException
Not implemented.

Specified by:
getEnumShortestPath in interface IPolyline2
Parameters:
fromPart - The fromPart (in)
fromPoint - The fromPoint (in)
toPart - The toPart (in)
toPoint - The toPoint (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.

touchCut

public void touchCut(IPolyline pCutter,
                     IGeometry[] ppLeftGeom,
                     IGeometry[] ppRightGeom)
              throws java.io.IOException,
                     AutomationException
Cut a polyline at locations where the cutter only touches the polyline, in addition to locations where the cutter crosses it.

Specified by:
touchCut in interface IPolyline3
Parameters:
pCutter - A reference to a com.esri.arcgis.geometry.IPolyline (in)
ppLeftGeom - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
ppRightGeom - 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.

simplifyEx

public void simplifyEx(boolean planarSimplify)
                throws java.io.IOException,
                       AutomationException
Use either planar or network simplify regardless of current attribute awareness.

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

reshapeEx

public boolean reshapeEx(IPath reshapeSource,
                         boolean bInterpolateReshaped)
                  throws java.io.IOException,
                         AutomationException
If bInterpolateReshaped is true, then new vertices will be interpolated based on vertices from the polyline being reshaped. Otherwise, attributes on the reshaping line will be preserved in the output.

Specified by:
reshapeEx in interface IPolyline5
Parameters:
reshapeSource - A reference to a com.esri.arcgis.geometry.IPath (in)
bInterpolateReshaped - The bInterpolateReshaped (in)
Returns:
The didReshape
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.

setMsAsDistance2

public void setMsAsDistance2(IPoint origin,
                             double scale,
                             double offset,
                             boolean ignoreGaps)
                      throws java.io.IOException,
                             AutomationException
Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.

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

updateMsByDistance

public void updateMsByDistance(int fromPart,
                               int fromPoint,
                               int toPart,
                               int toPoint,
                               double fromM,
                               double toM,
                               int updateHow,
                               boolean ignoreGaps)
                        throws java.io.IOException,
                               AutomationException
Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the input ms and euclidean distance along that path. The update method is given as a combination of esriGeometryUpdateMEnum values.

Specified by:
updateMsByDistance in interface IMSegmentation2
Parameters:
fromPart - The fromPart (in)
fromPoint - The fromPoint (in)
toPart - The toPart (in)
toPoint - The toPoint (in)
fromM - The fromM (in)
toM - The toM (in)
updateHow - The updateHow (in)
ignoreGaps - The ignoreGaps (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateMsByMs

public void updateMsByMs(int fromPart,
                         int fromPoint,
                         int toPart,
                         int toPoint,
                         double fromM,
                         double toM,
                         int updateHow)
                  throws java.io.IOException,
                         AutomationException
Updates Ms along the shortest path between the specified endpoints. The interpolation ratio is determined by the existing ms along that path and the input ms. The update method is given as a combination of esriGeometryUpdateMEnum values.

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

calibrateByDistance

public IEnumSplitPoint calibrateByDistance(IEnumVertex points,
                                           int updateHow,
                                           boolean ignoreGaps,
                                           double cutoffDistance)
                                    throws java.io.IOException,
                                           AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Specified by:
calibrateByDistance in interface IMSegmentation2
Parameters:
points - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
updateHow - The updateHow (in)
ignoreGaps - The ignoreGaps (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.

calibrateByMs

public IEnumSplitPoint calibrateByMs(IEnumVertex points,
                                     int updateHow,
                                     double cutoffDistance)
                              throws java.io.IOException,
                                     AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Specified by:
calibrateByMs in interface IMSegmentation2
Parameters:
points - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
updateHow - The updateHow (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.

getSubcurveBetweenMsEx

public IGeometryCollection getSubcurveBetweenMsEx(double fromM,
                                                  double toM,
                                                  int[] fromMDetails,
                                                  int[] toMDetails)
                                           throws java.io.IOException,
                                                  AutomationException
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. The 'details' arguments are composed of esriMCurveRelationEnum values.

Specified by:
getSubcurveBetweenMsEx in interface IMSegmentation2
Parameters:
fromM - The fromM (in)
toM - The toM (in)
fromMDetails - The fromMDetails (in/out: use single element array)
toMDetails - The toMDetails (in/out: use single element array)
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.

updateAllMsByMs

public void updateAllMsByMs(IPoint origin,
                            double scale,
                            double offset,
                            boolean ignoreGaps)
                     throws java.io.IOException,
                            AutomationException
Sets Ms on vertices as scaled and offset M distances from the input origin as measured along the polyline based on the existing M's. Shortest path distances from the origin are used. Optionally ignores distances between parts of the polyline.

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

getNormalsAtM

public IGeometryCollection getNormalsAtM(double m,
                                         double length)
                                  throws java.io.IOException,
                                         AutomationException
Returns a geometry bag of line segments corresponding to the normal at the locations along the geometry where the specified M occurs.

Specified by:
getNormalsAtM in interface IMSegmentation3
Parameters:
m - The m (in)
length - The length (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.

getMMonotonicity

public int getMMonotonicity()
                     throws java.io.IOException,
                            AutomationException
A combination of esriMonotinicityEnum values that describes all trends in M values over the length of the curve.

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

queryFirstLastM

public void queryFirstLastM(double[] firstM,
                            double[] lastM)
                     throws java.io.IOException,
                            AutomationException
Returns the first and last defined M value for the curve.

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

orientByMs

public void orientByMs()
                throws java.io.IOException,
                       AutomationException
Re-orients the curve to make Ms non-decreasing, if possible.

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

calibrateByDistance3D

public IEnumSplitPoint calibrateByDistance3D(IEnumVertex points,
                                             int updateHow,
                                             boolean ignoreGaps,
                                             double cutoffDistance)
                                      throws java.io.IOException,
                                             AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and the shortest 3D path distances along the polyline between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Specified by:
calibrateByDistance3D in interface IMSegmentation4
Parameters:
points - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
updateHow - The updateHow (in)
ignoreGaps - The ignoreGaps (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.

calibrateByMs3D

public IEnumSplitPoint calibrateByMs3D(IEnumVertex points,
                                       int updateHow,
                                       double cutoffDistance)
                                throws java.io.IOException,
                                       AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along the shortest 3D paths between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Specified by:
calibrateByMs3D in interface IMSegmentation4
Parameters:
points - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
updateHow - The updateHow (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.

getDistancesAtM3D

public java.lang.Object getDistancesAtM3D(boolean asRatio,
                                          double m)
                                   throws java.io.IOException,
                                          AutomationException
Returns an array of 3D 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:
getDistancesAtM3D in interface IMSegmentation4
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.

getMsAtDistance3D

public java.lang.Object getMsAtDistance3D(double distance,
                                          boolean asRatio)
                                   throws java.io.IOException,
                                          AutomationException
Returns M values at the 3D 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:
getMsAtDistance3D in interface IMSegmentation4
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.

interpolateMsBetween3D

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

Specified by:
interpolateMsBetween3D in interface IMSegmentation4
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.

setAndInterpolateMsBetween3D

public void setAndInterpolateMsBetween3D(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 based on an interpolation normalized to the 3D length of the shape.

Specified by:
setAndInterpolateMsBetween3D in interface IMSegmentation4
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.

insertMAtDistance3D

public void insertMAtDistance3D(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 3D distance along the geometry; creates a point at that distance if no point exists there.

Specified by:
insertMAtDistance3D in interface IMSegmentation4
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.

getPointsAtM3D

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

Specified by:
getPointsAtM3D in interface IMSegmentation4
Parameters:
m - The m (in)
offset - A reference to a com.esri.arcgis.geometry.IVector3D (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.

getSubcurveBetweenMs3D

public IGeometryCollection getSubcurveBetweenMs3D(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:
getSubcurveBetweenMs3D in interface IMSegmentation4
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.

getSubcurveBetweenMsEx3D

public IGeometryCollection getSubcurveBetweenMsEx3D(double fromM,
                                                    double toM,
                                                    int[] fromMDetails,
                                                    int[] toMDetails)
                                             throws java.io.IOException,
                                                    AutomationException
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. The 'details' arguments are composed of esriMCurveRelationEnum values.

Specified by:
getSubcurveBetweenMsEx3D in interface IMSegmentation4
Parameters:
fromM - The fromM (in)
toM - The toM (in)
fromMDetails - The fromMDetails (in/out: use single element array)
toMDetails - The toMDetails (in/out: use single element array)
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.

extrapolateMs3D

public void extrapolateMs3D(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:
extrapolateMs3D in interface IMSegmentation4
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.

setMsAsDistance3D

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

Specified by:
setMsAsDistance3D in interface IMSegmentation4
Parameters:
asRatio - The asRatio (in)
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.

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.

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.

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.

clipEx

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

Specified by:
clipEx in interface ITopologicalOperator5
Parameters:
clipperEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
bIncludeBoundary - The bIncludeBoundary (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.

constructExtendedEx

public IEnumSegment constructExtendedEx(ICurve fromCurve,
                                        ICurve toCurve,
                                        int extensionFlags,
                                        boolean[] extensionsPerformed)
                                 throws java.io.IOException,
                                        AutomationException
Returns an enumerator which identifies which segments were added to the result polyline by the construction process. The result is not simplified when an enumerator is requested.

Specified by:
constructExtendedEx in interface IConstructCurve3
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)
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.

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