com.esri.arcgis.geometry
Class EllipticArc

java.lang.Object
  extended bycom.esri.arcgis.geometry.EllipticArc
All Implemented Interfaces:
IClone, IConstructEllipticArc, ICurve, ICurve2, ICurve3, IEllipticArc, IGeometry, IProximityOperator, ISegment, ISegmentID, ISegmentM, ISegmentZ, ISupportErrorInfo, ITransform2D, java.io.Serializable

public class EllipticArc
extends java.lang.Object
implements IEllipticArc, IGeometry, ITransform2D, ICurve, ICurve2, ICurve3, ISegment, IConstructEllipticArc, IProximityOperator, ISupportErrorInfo, IClone, ISegmentM, ISegmentZ, ISegmentID

A portion of the boundary of a 2D ellipse that connects two points; optionally has measure, height and ID attributes at each endpoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
EllipticArc()
          Constructs a EllipticArc using ArcGIS Engine.
EllipticArc(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void complement()
          Changes this ellipse into its complement; 'from' and 'to' points are unchanged.
 void constructEnvelope(IEnvelope boundingEnvelope)
          Constructs the inscribed ellipse of the given envelope.
 void constructQuarterEllipse(IPoint fromPoint, IPoint toPoint, boolean cCW)
          Construct an elliptic arc that starts at fromPoint, goes to toPoint, and spans an angle of pi/2.
 void constructTwoPointsEnvelope(IPoint fromPoint, IPoint toPoint, IEnvelope suggestedEnvelope, int orientation)
          Construct an elliptic arc that starts at fromPoint, goes to toPoint, and tries to have the embedded ellipse inscribed in the suggestedEnvelope.
 void constructUpToFivePoints(IPoint from, IPoint to, IPoint thru, IPoint point4, IPoint point5)
          Constructs an elliptic arc, given up to 5 points, such that the embedded ellipse passes through as many as possible.
 void densify(int cInSlots, double maxDeviation, int[] pcOutSegments, ILine[] segments)
          Densify segment into the specified number of smaller segments.
 boolean equals(java.lang.Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void geographicShift(double splitLongitude)
          Shift longitudes to the right of splitLongitude.
 void geoNormalize()
          Shifts longitudes, if need be, into a continuous range of 360 degrees.
 void geoNormalizeFromLongitude(double longitude)
          Normalizes longitudes into a continuous range containing the longitude.
 IClone getAsIClone()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IConstructEllipticArc getAsIConstructEllipticArc()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ICurve getAsICurve()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ICurve2 getAsICurve2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ICurve3 getAsICurve3()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IEllipticArc getAsIEllipticArc()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IGeometry getAsIGeometry()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IProximityOperator getAsIProximityOperator()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISegment getAsISegment()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISegmentID getAsISegmentID()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISegmentM getAsISegmentM()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISegmentZ getAsISegmentZ()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISupportErrorInfo getAsISupportErrorInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ITransform2D getAsITransform2D()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 void getAxes(double[] semiMajor, double[] semiMinor, double[] minorMajorRatio)
          Gets the semi-major and semi-minor axes.
 IPoint getCenterPoint()
          The center point of the arc.
 double getCentralAngle()
          The included (or central) angle.
static java.lang.String getClsid()
           
 int getDimension()
          The topological dimension of this geometry.
 IEnvelope getEnvelope()
          Creates a copy of this geometry's envelope and returns it.
 double getFromAngle(boolean ellipseStd)
          The start angle (measured from a horizontal line through the center point) defining where the arc starts.
 IPoint getFromPoint()
          The 'from' point of the curve.
 int getGeometryType()
          The type of this geometry.
 void getIDs(int[] fromID, int[] toID)
          Get the IDs on the segment's endpoints.
 double getLength()
          The length of the curve.
 void getMs(double[] fromM, double[] toM)
          Get the Ms on the segment's endpoints.
 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.
 double getToAngle(boolean ellipseStd)
          The end angle (measured from a horizontal line through the center point) defining where the arc ends.
 IPoint getToPoint()
          The 'to' point of the curve.
 void getZs(double[] fromZ, double[] toZ)
          Get the Zs on the segment's endpoints.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          Supported Platforms
 boolean isCircular()
          Indicates if this elliptical arc is acutally circular (major and minor axes same length).
 boolean isClosed()
          Indicates if 'from' and 'to' points (of each part) are identical.
 boolean isCounterClockwise()
          Indicates if this elliptic arc is oriented counter-clockwise from its 'from' point to its 'to' point.
 boolean isEmpty()
          Indicates whether this geometry contains any points.
 boolean isEqual(IClone other)
          Returns TRUE when the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Returns TRUE when the receiver and other are the same object.
 boolean isLine()
          Indicates if the arc is degenerated to a line.
 boolean isMinor()
          Indicates whether the arc is a minor arc or a major arc.
 boolean isPoint()
          Indicates if the arc is degenerated to a point.
 void move(double dx, double dy)
          Moves dx units horizontally and dy units vertically.
 void moveVector(ILine v)
          Moves a direction and distance v.
 void project(ISpatialReference newReferenceSystem)
          Projects this geometry into a new spatial reference.
 void putAxes(double semiMajor, double minorMajorRatio)
          Sets the semi-major and semi-minor axes.
 void putCoords(boolean ellipseStd, IPoint center, IPoint from, IPoint to, double rotationAngle, double minorMajorRatio, int orientation)
          Sets the center point and endpoints, angle of rotation, and orientation.
 void putCoordsByAngle(boolean ellipseStd, IPoint center, double fromAngle, double centralAngle, double rotationAngle, double semiMajor, double minorMajorRatio)
          Sets the center point, starting angle, signed central angle, angle of rotation, ratio of the minor axis to the major axis, and axes.
 void putCoordsEx(IPoint from, IPoint to)
          Sets this segment's endpoints to 'from' and 'to'.
 void queryCenterPoint(IPoint center)
          Copies the center of this arc to the input point.
 void queryCoords(boolean ellipseStd, IPoint center, IPoint from, IPoint to, double[] rotationAngle, double[] minorMajorRatio, boolean[] isCCW, boolean[] minor)
          Copies the center and endpoints, angle of rotation, orientation and major/minor properties into the method parameters.
 void queryCoordsByAngle(boolean ellipseStd, IPoint center, double[] fromAngle, double[] centralAngle, double[] rotationAngle, double[] semiMajor, double[] minorMajorRatio)
          Returns the center point, starting angle, signed central angle, angle of rotation, ratio of the minor axis to the major axis, and axes.
 void queryCurvature(double distanceAlongCurve, boolean asRatio, double[] curvature, ILine unitVector)
          Finds curvature and unit vector starting at point on segment and directed to embedded circle center.
 void queryEnvelope(IEnvelope outEnvelope)
          Copies this geometry's envelope properties into the specified envelope.
 void queryFromPoint(IPoint from)
          Copies this curve's 'from' point to the input point.
 void queryNearestPoint(IPoint p, int extension, IPoint nearest)
          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 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 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 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.
 double returnDistance(IGeometry other)
          Returns the minimum distance between two geometries.
 IPoint returnNearestPoint(IPoint p, int extension)
          Creates and returns a point on this geometry nearest to the input point.
 int returnTurnDirection(ISegment otherSegment)
          Finds turn direction between two connected segments.
 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 scale(IPoint origin, double sx, double sy)
          Scales about the specified origin using seperate horizonal and vertical scales.
 void setCentralAngle(double centralAngle)
          The included (or central) angle.
 void setEmpty()
          Removes all points from this geometry.
 void setFromAngle(boolean ellipseStd, double fromAngle)
          The start angle (measured from a horizontal line through the center point) defining where the arc starts.
 void setFromPoint(IPoint from)
          The 'from' point of the curve.
 void setIDs(int fromID, int toID)
          Set the IDs on the segment's endpoints.
 void setIsCounterClockwise(boolean isCCW)
          Indicates if this elliptic arc is oriented counter-clockwise from its 'from' point to its 'to' point.
 void setIsMinor(boolean isMinor)
          Indicates whether the arc is a minor arc or a major arc.
 void setMs(double fromM, double toM)
          Set the Ms on the segment's endpoints.
 void setSpatialReferenceByRef(ISpatialReference spatialRef)
          The spatial reference associated with this geometry.
 void setToAngle(boolean ellipseStd, double toAngle)
          The end angle (measured from a horizontal line through the center point) defining where the arc ends.
 void setToPoint(IPoint to)
          The 'to' point of the curve.
 void setZs(double fromZ, double toZ)
          Set the Zs on the segment's endpoints.
 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 distances, boolean asRatio, ISegment[] fromSegment, ISegment[] toSegment)
          Split segment at specified distance.
 void splitDivideLength(double offset, double length, boolean asRatio, int[] numSplitSegments, ISegment splitSegments)
          Divide segment into smaller segments of the specified length.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EllipticArc

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

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

EllipticArc

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

Construct a EllipticArc using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to EllipticArc.
EllipticArc theEllipticArc = (EllipticArc) obj;

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()

getAsIEllipticArc

public IEllipticArc getAsIEllipticArc()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIGeometry

public IGeometry getAsIGeometry()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsITransform2D

public ITransform2D getAsITransform2D()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsICurve

public ICurve getAsICurve()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsICurve2

public ICurve2 getAsICurve2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsICurve3

public ICurve3 getAsICurve3()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISegment

public ISegment getAsISegment()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIConstructEllipticArc

public IConstructEllipticArc getAsIConstructEllipticArc()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIProximityOperator

public IProximityOperator getAsIProximityOperator()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISupportErrorInfo

public ISupportErrorInfo getAsISupportErrorInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIClone

public IClone getAsIClone()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISegmentM

public ISegmentM getAsISegmentM()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISegmentZ

public ISegmentZ getAsISegmentZ()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISegmentID

public ISegmentID getAsISegmentID()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

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


hashCode

public int hashCode()
the hashcode for this object


queryCoords

public void queryCoords(boolean ellipseStd,
                        IPoint center,
                        IPoint from,
                        IPoint to,
                        double[] rotationAngle,
                        double[] minorMajorRatio,
                        boolean[] isCCW,
                        boolean[] minor)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IEllipticArc
Copies the center and endpoints, angle of rotation, orientation and major/minor properties into the method parameters.

Supported Platforms

Windows, Solaris, Linux

Description

Given the EllipseStd value, returns the Center Point, From Point, To Point, Rotation Angle, Minor Axis to Major Axis Ratio, IsCounterClockwise value, and IsMinor value of the Elliptic Arc.  If EllipseStd = TRUE, the From Point and To Point locations are relative offsets from the Center Point rather than the origin.

Remarks

These are the necessary inputs for PutCoords, except in special cases (half ellipse, full ellipse, Central Angle = 0, and Minor to Major Ratio = 0) where the ArcOrientation must know which of these cases exists to ensure that the desired Elliptic Arc is unambiguous. Any of the output parameters can be set to nil if that info is not desired.

-isCCW stands for "is counter clockwise"

IEllipticArc QueryCoords Example

Specified by:
queryCoords in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotationAngle - The rotationAngle (in/out: use single element array)
minorMajorRatio - The minorMajorRatio (in/out: use single element array)
isCCW - The isCCW (in/out: use single element array)
minor - The minor (in/out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

putCoords

public void putCoords(boolean ellipseStd,
                      IPoint center,
                      IPoint from,
                      IPoint to,
                      double rotationAngle,
                      double minorMajorRatio,
                      int orientation)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IEllipticArc
Sets the center point and endpoints, angle of rotation, and orientation.

Supported Platforms

Windows, Solaris, Linux

Description

PutCoords creates an Elliptic Arc given the EllipseStd value, Center Point, From Point, To Point, Rotation Angle, Minor Axis to Major Axis Ratio, and the Arc Orientation.  If EllipseStd = TRUE, the From Point and To Point locations are relative offsets from the Center Point rather than the origin.

Remarks

Unless the coordinates of the From and To Points are exactly on the defined Elliptic Arc, PutCoords is likely to create an invalid Elliptic Arc.  Therefore, it is highly recommended that another Elliptic Arc creation method is used unless all of the necessary input parameters are exactly known.

IEllipticArc PutCoords Example

Specified by:
putCoords in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotationAngle - The rotationAngle (in)
minorMajorRatio - The minorMajorRatio (in)
orientation - A com.esri.arcgis.geometry.esriArcOrientation constant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryCoordsByAngle

public void queryCoordsByAngle(boolean ellipseStd,
                               IPoint center,
                               double[] fromAngle,
                               double[] centralAngle,
                               double[] rotationAngle,
                               double[] semiMajor,
                               double[] minorMajorRatio)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IEllipticArc
Returns the center point, starting angle, signed central angle, angle of rotation, ratio of the minor axis to the major axis, and axes.

Supported Platforms

Windows, Solaris, Linux

Description

Given the EllipseStd value, returns the Center Point, From Angle, Central Angle, Rotation Angle, semi-Major axis length, and Minor Axis to Major Axis Ratio for the Elliptic Arc.  These are the same parameters used by PutCoordsByAngle to create the Elliptic Arc.  If EllipseStd = TRUE, the From Angle is relative to the rotated semi-Major Axis rather than the X-Axis.

Remarks

 

IEllipticArc QueryCoordsByAngle Example

Specified by:
queryCoordsByAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
fromAngle - The fromAngle (in/out: use single element array)
centralAngle - The centralAngle (in/out: use single element array)
rotationAngle - The rotationAngle (in/out: use single element array)
semiMajor - The semiMajor (in/out: use single element array)
minorMajorRatio - The minorMajorRatio (in/out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

putCoordsByAngle

public void putCoordsByAngle(boolean ellipseStd,
                             IPoint center,
                             double fromAngle,
                             double centralAngle,
                             double rotationAngle,
                             double semiMajor,
                             double minorMajorRatio)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IEllipticArc
Sets the center point, starting angle, signed central angle, angle of rotation, ratio of the minor axis to the major axis, and axes.

Supported Platforms

Windows, Solaris, Linux

Description

Creates an Elliptic Arc given the EllipseStd value, Center Point, From Angle, Central Angle, Rotation Angle, semi-Major Axis length, and Minor Axis to Major Axis Ratio.  If EllipseStd = TRUE, the From Angle is relative to the rotated semi-Major Axis rather than the X-Axis.

Remarks

This is the recommended way to create an arbitrary Elliptic Arc.  However, due to numeric accuracy limitations of computers and trigonometric functions, the From and To Points may be very slightly offset from the expected coordinates.  This is important to keep in mind when attempting to connect the endpoints to other segments.

IEllipticArc PutCoordsByAngle Example

Specified by:
putCoordsByAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
fromAngle - The fromAngle (in)
centralAngle - The centralAngle (in)
rotationAngle - The rotationAngle (in)
semiMajor - The semiMajor (in)
minorMajorRatio - The minorMajorRatio (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCenterPoint

public IPoint getCenterPoint()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IEllipticArc
The center point of the arc.

Supported Platforms

Windows, Solaris, Linux

Description

The CenterPoint is the point where the Major Axis and Minor Axis of the EllipticArc intersect.  The CenterPoint is the point from which all angles and distances are calculated to create the EllipticArc.

Remarks

 

EllipticArc CenterPoint Example

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

queryCenterPoint

public void queryCenterPoint(IPoint center)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IEllipticArc
Copies the center of this arc to the input point.

Supported Platforms

Windows, Solaris, Linux

Description

The CenterPoint is the point where the Major Axis and Minor Axis of the EllipticArc intersect.  The CenterPoint is the point from which all angles and distances are calculated to create the EllipticArc. You must instantiate the Point before calling QueryCenterPoint. For example,

Dim pPoint as IPoint
Set pPoint = New Point

Remarks

The QueryCenterPoint method should be used in performance critical situations, where the center point of several arcs needs to be retrieved. The point is populated (not created) by the method. For example, this can be used to get the center point of several arcs in a loop. Creating the point only once outside the loop may improve performance for large number of arcs.

EllipticArc QueryCenterPoint Example

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

getAxes

public void getAxes(double[] semiMajor,
                    double[] semiMinor,
                    double[] minorMajorRatio)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IEllipticArc
Gets the semi-major and semi-minor axes.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the Major Axis, the Minor Axis, and the ratio of the Minor Axis to the Major Axis.  The Major Axis is the larger of the two Axes, and the Minor Axis is the smaller Axis.  The Major Axis always lies on the line between 0 and Pi Radians in EllipseStd, and the Minor Axis always lies on the line between Pi/2 and 3*Pi/2 Radian in EllipseStd.

Remarks

The Axes can be set using PutAxes.

EllipticArc GetAxes Example

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

putAxes

public void putAxes(double semiMajor,
                    double minorMajorRatio)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IEllipticArc
Sets the semi-major and semi-minor axes.

Supported Platforms

Windows, Solaris, Linux

Description

Sets the Major Axis and the Minor Axis.  The Major Axis is the larger of the two Axes, and the Minor Axis is the smaller Axis.  The Major Axis always lies on the line between 0 and Pi Radians in EllipseStd, and the Minor Axis always lies on the line between Pi/2 and 3*Pi/2 Radian in EllipseStd.

Remarks

The Axes can be returned using GetAxes.

EllipticArc PutAxes Example

Specified by:
putAxes in interface IEllipticArc
Parameters:
semiMajor - The semiMajor (in)
minorMajorRatio - The minorMajorRatio (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getFromAngle

public double getFromAngle(boolean ellipseStd)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IEllipticArc
The start angle (measured from a horizontal line through the center point) defining where the arc starts.

Supported Platforms

Windows, Solaris, Linux

Description

The From Angle is the angle of the Line defined by the Center Point and the From Point of the Elliptic Arc.  Setting the From Angle changes the From Point of the Elliptic Arc without altering the embedded geometry.  The From Angle is measured in radians (there are 2*pi radians in a full ellipse).  If EllipseStd = TRUE, the From Angle is relative to the rotated semi-Major Axis rather than the X-Axis.

Remarks

 

EllipticArc FromAngle Example

Specified by:
getFromAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
Returns:
The fromAngle
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFromAngle

public void setFromAngle(boolean ellipseStd,
                         double fromAngle)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IEllipticArc
The start angle (measured from a horizontal line through the center point) defining where the arc starts.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFromAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
fromAngle - The fromAngle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getToAngle

public double getToAngle(boolean ellipseStd)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IEllipticArc
The end angle (measured from a horizontal line through the center point) defining where the arc ends.

Supported Platforms

Windows, Solaris, Linux

Description

The To Angle is the angle of the Line defined by the Center Point and the To Point of the Elliptic Arc.  Setting the To Angle changes the To Point of the Elliptic Arc without altering the embedded geometry.  The To Angle is measured in radians (there are 2*pi radians in a full ellipse).  If EllipseStd = TRUE, the To Angle is relative to the rotated semi-Major Axis rather than the X-Axis.

Remarks

 

EllipticArc ToAngle Example

Specified by:
getToAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
Returns:
The toAngle
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setToAngle

public void setToAngle(boolean ellipseStd,
                       double toAngle)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IEllipticArc
The end angle (measured from a horizontal line through the center point) defining where the arc ends.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setToAngle in interface IEllipticArc
Parameters:
ellipseStd - The ellipseStd (in)
toAngle - The toAngle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCentralAngle

public double getCentralAngle()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IEllipticArc
The included (or central) angle.

Supported Platforms

Windows, Solaris, Linux

Description

The CentralAngle describes the span of the EllipticArc.  The CentralAngle is the angular measure between the FromAngle and the ToAngle.  The CentralAngle is measured in Radians and is always between -2*Pi and 2*Pi.  If the CentralAngle > 0, then the EllipticArc is oriented in a CounterClockwise direction.

Remarks

 

EllipticArc CentralAngle Example

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

setCentralAngle

public void setCentralAngle(double centralAngle)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IEllipticArc
The included (or central) angle.

Supported Platforms

Windows, Solaris, Linux

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

isPoint

public boolean isPoint()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IEllipticArc
Indicates if the arc is degenerated to a point.

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

isLine

public boolean isLine()
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IEllipticArc
Indicates if the arc is degenerated to a line.

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

isCounterClockwise

public boolean isCounterClockwise()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IEllipticArc
Indicates if this elliptic arc is oriented counter-clockwise from its 'from' point to its 'to' point.

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

setIsCounterClockwise

public void setIsCounterClockwise(boolean isCCW)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IEllipticArc
Indicates if this elliptic arc is oriented counter-clockwise from its 'from' point to its 'to' point.

Supported Platforms

Windows, Solaris, Linux

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

isMinor

public boolean isMinor()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IEllipticArc
Indicates whether the arc is a minor arc or a major arc.

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

setIsMinor

public void setIsMinor(boolean isMinor)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IEllipticArc
Indicates whether the arc is a minor arc or a major arc.

Supported Platforms

Windows, Solaris, Linux

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

complement

public void complement()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IEllipticArc
Changes this ellipse into its complement; 'from' and 'to' points are unchanged.

Supported Platforms

Windows, Solaris, Linux

Description

The Complement of an EllipticArc is the EllipticArc between the ToPoint and the FromPoint of the original EllipticArc that creates a full ellipse when combined with the original EllipticArc.  The Complement maintains the same FromPoint and ToPoint as the original EllipticArc, but has the different IsMinor and IsCounterClockwise values.

Remarks

 

Complement Example

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

isCircular

public boolean isCircular()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IEllipticArc
Indicates if this elliptical arc is acutally circular (major and minor axes same length).

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

getLength

public double getLength()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICurve
The length of the curve.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the length of the entire curve.  The length of the curve is the sum of the lengths along each parameterized Segment between vertices along the curve. 

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

getFromPoint

public IPoint getFromPoint()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICurve
The 'from' point of the curve.

Supported Platforms

Windows, Solaris, Linux

Description

Returns or Sets the FromPoint of the first segment of the first part of the curve.  While the curve may be composed of many parts and segments each with their own FromPoint, each curve only has a single From Point.

Remarks

 

FromPoint Example

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.
See Also:
IPoint

setFromPoint

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

Supported Platforms

Windows, Solaris, Linux

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

queryFromPoint

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

Supported Platforms

Windows, Solaris, Linux

Description

Used to query the FromPoint of the first Segment of the first part of the curve.

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

QueryFromPoint Example

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

getToPoint

public IPoint getToPoint()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ICurve
The 'to' point of the curve.

Supported Platforms

Windows, Solaris, Linux

Description

Returns or Sets the ToPoint of the first Segment of the first part of the curve.  While the curve may be composed of many parts and segments each with their own ToPoint, each curve only has a single To Point.

Remarks

 

ToPoint Example

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.
See Also:
IPoint

setToPoint

public void setToPoint(IPoint to)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ICurve
The 'to' point of the curve.

Supported Platforms

Windows, Solaris, Linux

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

queryToPoint

public void queryToPoint(IPoint to)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ICurve
Copies the curve's 'to' point into the input point.

Supported Platforms

Windows, Solaris, Linux

Description

Used to query the ToPoint of the first Segment of the first part of the curve.

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

QueryToPoint Example

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.
See Also:
IPoint

queryPoint

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

Supported Platforms

Windows, Solaris, Linux

Description

Returns the Point at a given distance along the curve or extended curve.  If the distance is less than the length of the curve, then the returned point is the point at that distance along the curve.  If the distance is less than zero, or greater than the length of the curve, then the returned point is on the curve specified by the extension method.  The distance may be specified as a fixed unit of measure or a ratio of the length of the curve.

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

ICurve QueryPoint Example

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.
See Also:
IPoint, esriSegmentExtension

queryPointAndDistance

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

Supported Platforms

Windows, Solaris, Linux

Description

Finds the Point on the specified extended curve nearest to the input point and the distance between those points.  Also returns information about the side of the curve the input point is on as well as the distance along the curve that the nearest point occurs.

Remarks

AsRatio is an input parameter that only affects the DistanceAlongCurve

distanceFromCurve is an output parameter that represents the minimum distance between the curve and the input point.

DistanceAlongCurve is an output parameter that represents the distance between the Frompoint of the input curve and the returned point on the curve.

bRightSide is an output parameter that tells if the output point is on the right side of the curve. The direction of the curve determines the right and left sides.

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

QueryPointAndDistance Example

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

queryTangent

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

Supported Platforms

Windows, Solaris, Linux

Description

Given a distance along the curve specified either as a ratio of the length or as a specific fixed distance, QueryTangent returns the Line tangent to the Point.  The length and method of tangential extension of the tangent line are given by the user.  The method of tangential extension determines the direction of the tangent line as though it were being extended at a From point or a To point.

Remarks

 

QueryTangent Example

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.
See Also:
ILine

queryNormal

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

Supported Platforms

Windows, Solaris, Linux

Description

Given a distance along the curve specified either as a ratio of the Length or as a specific fixed distance, QueryNormal returns the Line normal to the Point.  The length and method of tangential extension of the normal line are given by the user.  The method of tangential extension determines the direction of the normal line as though it were being extended at a From point or a To point.

Remarks

 

QueryNormal Example

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

getSubcurve

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

Supported Platforms

Windows, Solaris, Linux

Description

Gets the subcurve between the specified points along the original curve and creates a new curve. The elements in the new subcurve are the same type and have the same properties as the elements of the original curve. Which means if:

Input Geometry Output Geometry
Polygon Polyline
Polyline Polyline
Ring Path
Path Path
Segment Segment

 

If the input geometry is a polygon, you may want to use IRing::GetSubCurveEx which has more capabilities.

Remarks

 

Subcurve Example

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
Description copied from interface: ICurve
Reverses the parameterization of the curve ('from' point becomes 'to' point, first segment becomes last segment, etc).

Supported Platforms

Windows, Solaris, Linux

Description

ReverseOrientation changes the direction of the curve without changing the spatial position of the curve.  The From Point and To Point of each Segment in each part of the curve are interchanged.

Remarks

The ReverseOrientation method works the same way as the Arcedit FLIP command. It reverses the order of the vertices in the Curve.

Caution should be taken in using ReverseOrientation on Polygons.  Since ReverseOrientation changes the direction of each Ring within the Polygon, all Exterior Rings become Interior Rings and vice versa.

Reverse Orientation Example

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
Description copied from interface: ICurve
Indicates if 'from' and 'to' points (of each part) are identical.

Supported Platforms

Windows, Solaris, Linux

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.

getGeometryType

public int getGeometryType()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IGeometry
The type of this geometry.

Supported Platforms

Windows, Solaris, Linux

Remarks

esriGeometryNull          = 0
esriGeometryPoint = 1
esriGeometryMultipoint = 2
esriGeometryPolyline = 3
esriGeometryPolygon = 4
esriGeometryEnvelope = 5
esriGeometryPath = 6
esriGeometryAny = 7
esriGeometryMultiPatch = 9
esriGeometryRing = 11
esriGeometryLine = 13
esriGeometryCircularArc = 14
esriGeometryBezier3Curve = 15
esriGeometryEllipticArc = 16
esriGeometryBag = 17
esriGeometryTriangleStrip = 18
esriGeometryTriangleFan = 19
esriGeometryRay = 20
esriGeometrySphere = 21
Geometry Type Example

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
Description copied from interface: IGeometry
The topological dimension of this geometry.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the dimension of the geometry object based on the geometry's type.

Remarks


Note: At 9.0, Multipatches are now considered as two dimensional geometry. esriGeometry3Dimension will be used for an upcoming new geometry type.
Supported esriGeometryDimensions:

-1    esriGeometryNoDimension
1    esriGeometry0Dimension
2    esriGeometry1Dimension
4    esriGeometry2Dimension
5    esriGeometry25Dimension
6    esriGeometry3Dimension

Dimension Example

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

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws java.io.IOException,
                                             AutomationException
Description copied from interface: IGeometry
The spatial reference associated with this geometry.

Supported Platforms

Windows, Solaris, Linux

Description

Returns and sets the Spatial Reference in which the geometry exists. If the spatial reference has not been set the property will return an empty ISpatialReference instance.

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

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialRef)
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IGeometry
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:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isEmpty

public boolean isEmpty()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IGeometry
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
Description copied from interface: IGeometry
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
Description copied from interface: IGeometry
Copies this geometry's envelope properties into the specified envelope.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the unique Envelope that binds the Geometry object.  This is the smallest Envelope that Contains the object.

Remarks

Note: The output geometry must be co-created prior to the query. The output geometry is not co-created by the method; it is populated. This can be used in performance critical situations. For example, creating the geometry only once outside a loop and use the query method could improve performance.

QueryEnvelope Example

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

getEnvelope

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

Supported Platforms

Windows, Solaris, Linux

Description

Returns the unique Envelope that binds the Geometry object.  This is the smallest Envelope that Contains the object.

Remarks

 

Envelope Example

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
Description copied from interface: IGeometry
Projects this geometry into a new spatial reference.

Supported Platforms

Windows, Solaris, Linux

Description

To Project, the geometry needs to have a Spatial Reference set, and not have an UnknownCoordinateSystem. The new spatial reference system passed to the method defines the output coordinate system. If either spatial reference is Unknown, the coordinates are not changed. The Z and measure values are not changed by the Project method.

A geometry is not densified before it is projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Use IGeometry2::ProjectEx if you want to densify the geometries while they are projected.

Remarks

Note: If the from/to spatial references have different geographic coordinate systems, the Project method looks for a GeoTransformationsOperationSet. If the set of Geotransformations is present in memory, Project will use it to perform a geographic/datum Transformation. To use a specific geotransformation, use the IGeometry2::ProjectEx method.

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

snapToSpatialReference

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

Supported Platforms

Windows, Solaris, Linux

Remarks

SnapToSpatialReference rounds all coordinates to the resolution defined by the geometry's spatial reference system. This has a smilar effect on the geometry as storing the geometry in a Geodatabase (*.mdb or ArcSDE).

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
Description copied from interface: IGeometry
Shifts longitudes, if need be, into a continuous range of 360 degrees.

Supported Platforms

Windows, Solaris, Linux

Remarks

GeoNormalize acts on geometries whose geographic system coordinates are below -180 degrees longitude or over +180 degrees longitude or on geometries that span the +-180 degrees longitude.
 
This method requires the geometry to have a valid spatial reference (geographic or projected coordinate system).
 
This method is used internally as part of the projection process for polygons and polylines.  It is typically not used by itself.
 

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

geoNormalizeFromLongitude

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

Supported Platforms

Windows, Solaris, Linux

Remarks

This method is obsolete.  Use IGeometry::GeoNormalize instead.
 
This method requires the geometry to have a valid spatial reference (geographic or projected coordinate system).

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

move

public void move(double dx,
                 double dy)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: ITransform2D
Moves dx units horizontally and dy units vertically.

Supported Platforms

Windows, Solaris, Linux

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis.  Only changes the position of the Geometry without altering any of the other characteristics.  Move is a spatial offset.

Remarks

 

Transform2D Move Example

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

moveVector

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

Supported Platforms

Windows, Solaris, Linux

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis, where dX and dY are calculated from the input vector Line.  Only the Length and Angle of the vector affect the transformation.  The location of the vector does not change the transformation.  Only changes the position of the Geometry without altering any of the other characteristics.  Move is a spatial offset.

Remarks

 

Transform2D MoveVector Example

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

scale

public void scale(IPoint origin,
                  double sx,
                  double sy)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: ITransform2D
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.

Supported Platforms

Windows, Solaris, Linux

Description

Stretches the Geometry a factor of sX along the X-Axis and a factor of sY along the Y-Axis (where sX is the ratio of Old Width to New Width, and sY is the ratio of Old Height to New Height).  The Origin point is the reference Point from which the transformation is performed (Regardless of the location of the Origin point, the Geometry resulting from the transformation is the same, except for a positional offset).  The Origin is the only point in the transformation guaranted to remain in the same location after the transformation is complete.

Remarks

Note: Caution must be taken when scaling a CircularArc or a geometry containing CircularArc segments.  Unless Abs(ScaleX) = Abs(ScaleY), the resulting CircularArcs will not retain the characteristics of the original geometry (since they remain CircularArcs).

Scale Example

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

rotate

public void rotate(IPoint origin,
                   double rotationAngle)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: ITransform2D
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.

Supported Platforms

Windows, Solaris, Linux

Description

Rotate performs an angular transform (rotation) on the Geometry.  The Origin is the only point in the transformation guaranteed to remain in the same location after the transformation is performed.  Regardless of the Origin, the transformed Geometry is the same, except for a positional offset.  The RotationAngle is measured in radians.

Remarks

An Envelope cannot be Rotated.

Transform2D Rotate Example

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
Description copied from interface: ITransform2D
Applies an arbitrary transformation. In particular, the transformation parameter can be either an affine transformation or a geographic transformation (datum shift).

Supported Platforms

Windows, Solaris, Linux

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.

putCoordsEx

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

Supported Platforms

Windows, Solaris, Linux

Description

PutCoordsEx allows both the fromPoint and the toPoint to be set simultaneously. 
A Conformal Transformation based on the original points and the new points
is applied to the curve.

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
Description copied from interface: ICurve3
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.

Supported Platforms

Windows, Solaris, Linux

Description

This method is similar to QueryPointsAndDistance; but it handles the case where the location of the minimum distance is not unique (See picture below). QueryPointAndDistance returns only the first location, this method returns all locations of minimum distance.

Remarks

AsRatio is an input parameter that only affects the DistanceAlongCurvereturned as part of the output IEnumPointAndDistance enumerator.

distanceFromCurve is an output parameter that represents the minimum distance between the curve and the input point.

IEnumPointAndDistance is an enumerator (it inherits from IEnumVertex) over all nearest points on the curve

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.

queryCurvature

public void queryCurvature(double distanceAlongCurve,
                           boolean asRatio,
                           double[] curvature,
                           ILine unitVector)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ISegment
Finds curvature and unit vector starting at point on segment and directed to embedded circle center.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the curvature at a specified distance along the segment.  The distance can be given explicitly or as a ratio of the entire length of the segment.  The curvature is returned as a Line representing a directional unit vector (in the direction going from the From Point to the To Point) and a double representing the magnitude of the vector of curvature.

Remarks

The unit vector returned by QueryCurvature points toward the center of the circle that has the same first and second derivative at the queried point with a curvature value equal to 1 / Radius of that circle.

QueryCurvature Example

Specified by:
queryCurvature in interface ISegment
Parameters:
distanceAlongCurve - The distanceAlongCurve (in)
asRatio - The asRatio (in)
curvature - The curvature (out: use single element array)
unitVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

returnTurnDirection

public int returnTurnDirection(ISegment otherSegment)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ISegment
Finds turn direction between two connected segments.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the Turn Direction of the Segment immediately following the current Segment.  The two segments must be connected between the To Point of the first segment and the From Point of the second segment.  ReturnTurnDirection returns a long corresponding to an esriTurnDirectionEnum or a combination of esriNoTurn or esriUTurn and esriRightTurn or esriLeftTurn.  If the two segments are tangential at the point of connection and not completely colinear, then a combination of esriTurnDirectionEnums are returned.

Remarks

ReturnTurnDirection is only available for Lines and CircularArcs, not BezierCurves or EllipticArcs.

ReturnTurnDirection Example

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

splitAtDistance

public void splitAtDistance(double distances,
                            boolean asRatio,
                            ISegment[] fromSegment,
                            ISegment[] toSegment)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ISegment
Split segment at specified distance.

Supported Platforms

Windows, Solaris, Linux

Description

Splits the input Segment at the given distance and returns the Segment between the original From Point and the split point as well as the Segment between the split point and the original To Point.  The split distance may be specified as a ratio of the total distance if AsRatio = TRUE, otherwise the distance is in the same units as the Length of the Segment.

Remarks

 

SplitAtDistance Example

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

splitDivideLength

public void splitDivideLength(double offset,
                              double length,
                              boolean asRatio,
                              int[] numSplitSegments,
                              ISegment splitSegments)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ISegment
Divide segment into smaller segments of the specified length.

Supported Platforms

Windows, Solaris, Linux

Description

Outputs an array of Segments of a desired input length starting at an offset distance along the curve and continuing until the end of the Segment is reached.  The offset and length may be specified as a ratio of the total length of the Segment.  SplitDivideLength outputs an array of Segments and the number of Segments in that array.  All of the output Segments in the array have the desired input length with the exception of the final Segment which has a length less than or equal to the input length (the remainder of the Segment).

Remarks

 

SplitDivideLength Example

Specified by:
splitDivideLength in interface ISegment
Parameters:
offset - The offset (in)
length - The length (in)
asRatio - The asRatio (in)
numSplitSegments - The numSplitSegments (in)
splitSegments - 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.

densify

public void densify(int cInSlots,
                    double maxDeviation,
                    int[] pcOutSegments,
                    ILine[] segments)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: ISegment
Densify segment into the specified number of smaller segments. This method is intended for internal use only.

Supported Platforms

Windows, Solaris, Linux

Remarks

Densifying individual segments can be accomplished in client code by add the segment to a temporary polyline, then densifying the polyline using one of the methods on IPolycurve. Alternatively, the IGeometryBridge interface on the GeometryEnvironment object can be used.

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

geographicShift

public void geographicShift(double splitLongitude)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ISegment
Shift longitudes to the right of splitLongitude. This method is obsolete.

Supported Platforms

Windows, Solaris, Linux

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

constructEnvelope

public void constructEnvelope(IEnvelope boundingEnvelope)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IConstructEllipticArc
Constructs the inscribed ellipse of the given envelope. The ellipse is oriented counterclockwise.

Supported Platforms

Windows, Solaris, Linux

Description

ConstructEnvelope creates an EllipticArc from a given Envelope.  The constructed EllipticArc is the full EllipticArc that has the given Envelope as its Envelope.  The EllipticArc has a Major Axis equal to the larger of the Width and Height, and the Minor Axis equal to the smaller of the Width and Height.  The CenterPoint of the EllipticArc is the CenterPoint of the Envelope.

Remarks

 

IConstructEllipticArc ConstructEnvelope Example

Specified by:
constructEnvelope in interface IConstructEllipticArc
Parameters:
boundingEnvelope - 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.

constructUpToFivePoints

public void constructUpToFivePoints(IPoint from,
                                    IPoint to,
                                    IPoint thru,
                                    IPoint point4,
                                    IPoint point5)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IConstructEllipticArc
Constructs an elliptic arc, given up to 5 points, such that the embedded ellipse passes through as many as possible. The arc will start at the first point and end at the second, passing through the third.

Supported Platforms

Windows, Solaris, Linux

Description

Constructs an EllipticArc using as many of the zero to five input points as possible.  The first input point is always the From Point of the constructed EllipticArc.  The second input point is always the To Point of the constructed EllipticArc.  The third point is the Thru Point of the EllipticArc and is always guaranteed to lie on the constructed EllipticArc.  The fourth and fifth points may lie on either the constructed EllipticArc or the embedded extension of the EllipticArc.  The first three input points are guaranteed to be used in the construction of the EllipticArc.  The fourth and fifth points are used in preferential order as long as they do not create an invalid EllipticArc.  All points used to construct an EllipticArc must lie on a Convex Hull, otherwise the fourth or fifth non-convex points are discarded to maintain convexity.  Zero input points defines an empty EllipticArc.  One input point defines a degenerate IsPoint EllipticArc.  Two disjoint input points uniquely define a degenerate IsLine EllipticArc with the points at the end of the semiMajor axis with a Minor/Major Ratio of 0.  Three non-colinear input points uniquely define an IsCircular EllipticArc in the same manner as ConstructThreePoints constructs a CircularArc.  Four input points on a convex hull may be sufficient to uniquely define an unrotated (or Pi / 2 rotated) EllipticArc.  For cases where an unrotated EllipticArc cannot be fit to the input points, a reasonable rotated EllipticArc is constructed to fit the input points (this EllipticArc is not the only rotated EllipticArc that can be fit to the input points.).

Remarks

 

ConstructEllipticArc ConstructUpToFivePoints Example

Specified by:
constructUpToFivePoints in interface IConstructEllipticArc
Parameters:
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
thru - A reference to a com.esri.arcgis.geometry.IPoint (in)
point4 - A reference to a com.esri.arcgis.geometry.IPoint (in)
point5 - 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.

constructQuarterEllipse

public void constructQuarterEllipse(IPoint fromPoint,
                                    IPoint toPoint,
                                    boolean cCW)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IConstructEllipticArc
Construct an elliptic arc that starts at fromPoint, goes to toPoint, and spans an angle of pi/2. The rotation of the ellipse will be either 0 or pi/2.

Supported Platforms

Windows, Solaris, Linux

Description

ConstructQuarterEllipse constructs a quarter EllipticArc between a given From Point and To Point with the desired orientation.  The From Point and the To Point lie on the ends of the EllipticArc Axes.  The constructed quarter Ellipse can be thought of as being the EllipticArc within the envelope defined by the From Point and To Point with a semiMajor axis equal to the longer side of the envelope and a semiMinor axis equal to the shorter side of the envelope.

Remarks

 

ConstructEllipticArc ConstructQuarterEllipse Example

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

constructTwoPointsEnvelope

public void constructTwoPointsEnvelope(IPoint fromPoint,
                                       IPoint toPoint,
                                       IEnvelope suggestedEnvelope,
                                       int orientation)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IConstructEllipticArc
Construct an elliptic arc that starts at fromPoint, goes to toPoint, and tries to have the embedded ellipse inscribed in the suggestedEnvelope. The result will have rotation of 0 or pi/2.

Supported Platforms

Windows, Solaris, Linux

Description

ConstructTwoPointsEnvelope constructs an EllipticArc given the From and To Points and a suggested Envelope as input.  The constructed EllipticArc has characteristics similar to the full ellipse defined by the input Envelope.  The final EllipticArc may vary slightly from the input Envelope depending on how well the input Points fit the suggested EllipticArc.

Remarks

 

IConstructEllipticArc ConstructTwoPointsEnvelope Example

Specified by:
constructTwoPointsEnvelope in interface IConstructEllipticArc
Parameters:
fromPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
toPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
suggestedEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
orientation - A com.esri.arcgis.geometry.esriArcOrientation constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryNearestPoint

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

Supported Platforms

Windows, Solaris, Linux

Description

Queries the nearest point on a geometry to the input point.  Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

 

QueryNearestPoint Example

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.
See Also:
esriSegmentExtension

returnNearestPoint

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

Supported Platforms

Windows, Solaris, Linux

Description

Finds and returns the nearest point on a geometry to the input point.  Depending on the method of segment extension, the nearest point can also be found on an extension of the geometry.

Remarks

 

ReturnNearestPoint Example

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.
See Also:
esriSegmentExtension

returnDistance

public double returnDistance(IGeometry other)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IProximityOperator
Returns the minimum distance between two geometries.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the minimum distance between two geometries.  If the geometries intersect, the minimum distance is 0.  Only returns the distance, and not the nearest points.

Remarks

 

ReturnDistance Example

The geometry combinations which can be used with ReturnDistance are:

Point: Point, MultiPoint, Envelope, Polyline, Polygon, Line, CircularArc, EllipticArc, BezierCurve.
Multipoint: Point, MultiPoint, Envelope, Polyline, Polygon.
Envelope: Point, MultiPoint, Envelope, Line, CircularArc, EllipticArc, BezierCurve, PolyLine, Polygon.
PolyLine: Point, Multipoint, Envelope, PolyLine, Polygon.
Polygon: Point, Multipoint, Envelope, PolyLine, Polygon.
Line: Point, Envelope, Line, CircularArc, EllipticArc, BezierCurve.
CircularArc: Point, Envelope, Line, CircularArc, EllipticArc (not implemented yet), BezierCurve.
EllipticArc: Point, Envelope, Line, CircularArc (not implemented yet), EllipticArc (not implemented yet), BezierCurve (not implemented yet).
BezierCurve: Point, Envelope, Line, CircularArc, EllipticArc (not implemented yet), BezierCurve.

Note: To get the distance between a segment (Line, CircularArc, EllipticArc, BezierCurve) and a MultiPoint, PolyLine or Polygon, add that segment to a PolyLine.

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ISupportErrorInfo

Supported Platforms

Windows, Solaris, Linux

Description

Indicates whether the interface supports IErrorInfo.

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

esri_clone

public IClone esri_clone()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IClone
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
Description copied from interface: IClone
Assigns the properties of src to the receiver.

Supported Platforms

Windows, Solaris, Linux

Description

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

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

isEqual

public boolean isEqual(IClone other)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IClone
Returns TRUE when 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:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isIdentical

public boolean isIdentical(IClone other)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IClone
Returns TRUE when 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:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getMs

public void getMs(double[] fromM,
                  double[] toM)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: ISegmentM
Get the Ms on the segment's endpoints.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the M attributes held by the From and To point of the segment.

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

setMs

public void setMs(double fromM,
                  double toM)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: ISegmentM
Set the Ms on the segment's endpoints.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMs in interface ISegmentM
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.

getZs

public void getZs(double[] fromZ,
                  double[] toZ)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: ISegmentZ
Get the Zs on the segment's endpoints.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the Z attributes held by the From and To point of the segment.

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

setZs

public void setZs(double fromZ,
                  double toZ)
           throws java.io.IOException,
                  AutomationException
Description copied from interface: ISegmentZ
Set the Zs on the segment's endpoints.

Specified by:
setZs in interface ISegmentZ
Parameters:
fromZ - The fromZ (in)
toZ - The toZ (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIDs

public void getIDs(int[] fromID,
                   int[] toID)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: ISegmentID
Get the IDs on the segment's endpoints.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the PointID attributes held by the From and To point of the segment.

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

setIDs

public void setIDs(int fromID,
                   int toID)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: ISegmentID
Set the IDs on the segment's endpoints.

Specified by:
setIDs in interface ISegmentID
Parameters:
fromID - The fromID (in)
toID - The toID (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.