com.esri.arcgis.geometry
Class BezierCurve

java.lang.Object
  extended by com.esri.arcgis.geometry.BezierCurve
All Implemented Interfaces:
IBezierCurve, IBezierCurve2, IBezierCurve3, IBezierCurveGEN, IConstructBezierCurve, ICurve, ICurve2, ICurve3, IGeometry, IProximityOperator, ISegment, ISegmentID, ISegmentM, ISegmentZ, ITransform2D, com.esri.arcgis.interop.RemoteObjRef, IClone, ISupportErrorInfo, java.io.Serializable

public class BezierCurve
extends java.lang.Object
implements com.esri.arcgis.interop.RemoteObjRef, IBezierCurveGEN, IBezierCurve, IBezierCurve2, IBezierCurve3, IGeometry, ITransform2D, ICurve, ICurve2, ICurve3, ISegment, IConstructBezierCurve, IProximityOperator, ISupportErrorInfo, IClone, ISegmentM, ISegmentZ, ISegmentID

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

Description 'A cubic Bezier curve defined between two points; optionally has measure, height and ID attributes at each endpoint.' Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject = False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.geometry.IBezierCurveGEN
IID, IID64de4fd4_6e85_41ef_8401_8bde5e7beaab, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IBezierCurve3
IID, IID7d2ebdd3_edf5_4072_91f4_978fb62c6e3b, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IBezierCurve2
IID6657316f_ec45_4d6b_9526_440de441c250
 
Fields inherited from interface com.esri.arcgis.geometry.IBezierCurve
IID19b8936c_b159_11d1_a2d3_0000f8775fbf
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve
IID1b077916_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.IGeometry
IID1b07790d_38c5_11d0_92d2_00805f7c28b0
 
Fields inherited from interface com.esri.arcgis.geometry.ITransform2D
IID, IID3be78ad0_886e_11d1_bc78_0000f875bcce, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve3
IID, IIDea7ab50b_1a9d_11d6_9fa9_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ICurve2
IID058def33_2848_11d4_9f82_00c04f6bc8e8
 
Fields inherited from interface com.esri.arcgis.geometry.ISegment
IID, IIDf2c4f0de_c5ae_11d0_8307_0000f8034032, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IConstructBezierCurve
IID, IID252c0510_b381_11d1_a2d4_0000f8775fbf, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.IProximityOperator
IID, IID1b07790f_38c5_11d0_92d2_00805f7c28b0, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.ISupportErrorInfo
IID, IIDdf0b3d60_548f_101b_8e65_08002b2bd119, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IClone
IID, IID9bff8aeb_e415_11d0_943c_080009eebecb, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ISegmentM
IID, IID48cf4c91_e3d5_11d2_9f2e_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ISegmentZ
IID, IID61b43a4b_e3d5_11d2_9f2e_00c04f6bdf0d, xxDummy
 
Fields inherited from interface com.esri.arcgis.geometry.ISegmentID
IID, IID703052bd_25f1_11d3_9f3f_00c04f6bdf0d, xxDummy
 
Constructor Summary
BezierCurve()
          Constructs a BezierCurve using ArcGIS Engine.
BezierCurve(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
BezierCurve theBezierCurve = (BezierCurve) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void constructTangentsAtEndpoints(ILine pTangentAtFrom, ILine pTangentAtTo)
          Constructs a Bezier curve from tangents at both endpoints.
 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.
static java.lang.String getClsid()
          getClsid.
 int getDegree()
          The degree of the Bezier curve.
 int getDimension()
          The topological dimension of this geometry.
 IEnvelope getEnvelope()
          Creates a copy of this geometry's envelope and returns it.
 IPoint getFromPoint()
          The 'from' point of the curve.
 int getGeometryType()
          The type of this geometry.
 void getIDs(int[] fromID, int[] toID)
          Get the IDs on the segment's endpoints.
 com.esri.arcgis.interop.Dispatch getJintegraDispatch()
          Deprecated. Internal use only.
 double getLength()
          The length of the curve.
 void getMs(double[] fromM, double[] toM)
          Get the Ms on the segment's endpoints.
 double getParameter(double distanceAlongCurve, boolean asRatio)
          The parametric distance along the bezier.
 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.
 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)
          interfaceSupportsErrorInfo
 boolean isClosed()
          Indicates if 'from' and 'to' points (of each part) are identical.
 boolean isEmpty()
          Indicates whether this geometry contains any points.
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isLine()
          Indicates if the curve degenerated to a line.
 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 putCoord(int index, IPoint controlPoint)
          Sets the specified (0 <= index < 4) control point of this Bezier curve.
 void putCoords(int numPoints, IPoint controlPoints)
          Sets this Bezier curve's control points from an array of between 1 to 4 input points.
 void putCoords(IPoint[] controlPoints)
          Sets this Bezier curve's control points from an array of between 1 to 4 input points.
 void putCoordsEx(IPoint from, IPoint to)
          Sets this segment's endpoints to 'from' and 'to'.
 void queryChordLengthTangentAtFrom(IPoint tangent, boolean[] setByUser)
          Returns tangent vector at 'from' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.
 void queryChordLengthTangentAtTo(IPoint tangent, boolean[] setByUser)
          Returns tangent vector at 'to' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.
 void queryCoord(int index, IPoint controlPoint)
          Copies the specified control point of this Bezier curve into the input point.
 void queryCoords(IPoint controlPoints)
          Copies this Bezier curve's control points into the array of 4 existing points.
 void queryCoords(IPoint[] controlPoints)
          Sets the existing elements of an existing safe array to be equal to the four control points of this bezier curve.
 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 queryInflectionPoint(IPoint inflectionPoint)
          Finds inflection point; sets it empty if none exists.
 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.
 void release()
          Release a BezierCurve.
 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 setChordLengthTangentAtFrom(IPoint tangent, boolean setByUser)
          Establishes tangent vector at 'from' point, based on chord length parametrization; and sets flag whether it has been set by user or by smoothing process.
 void setChordLengthTangentAtTo(IPoint tangent, boolean setByUser)
          Establishes tangent vector at 'to' point, based on chord length parametrization; and sets flag whether it has been set by user or by smoothing process.
 void setEmpty()
          Removes all points from this geometry.
 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 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 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

BezierCurve

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

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

BezierCurve

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

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

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

getClsid

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


equals

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

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class java.lang.Object

getJintegraDispatch

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

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

release

public void release()
Release a BezierCurve.

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

queryCoords

public void queryCoords(IPoint[] controlPoints)
                 throws java.io.IOException,
                        AutomationException
Sets the existing elements of an existing safe array to be equal to the four control points of this bezier curve.

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

putCoords

public void putCoords(IPoint[] controlPoints)
               throws java.io.IOException,
                      AutomationException
Sets this Bezier curve's control points from an array of between 1 to 4 input points.

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

queryCoord

public void queryCoord(int index,
                       IPoint controlPoint)
                throws java.io.IOException,
                       AutomationException
Copies the specified control point of this Bezier curve into the input point.

Specified by:
queryCoord in interface IBezierCurve
Specified by:
queryCoord in interface IBezierCurveGEN
Parameters:
index - The index (in)
controlPoint - 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.

putCoord

public void putCoord(int index,
                     IPoint controlPoint)
              throws java.io.IOException,
                     AutomationException
Sets the specified (0 <= index < 4) control point of this Bezier curve.

Specified by:
putCoord in interface IBezierCurve
Specified by:
putCoord in interface IBezierCurveGEN
Parameters:
index - The index (in)
controlPoint - 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.

getDegree

public int getDegree()
              throws java.io.IOException,
                     AutomationException
The degree of the Bezier curve. For third degree Beziers, this is always 3.

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

queryChordLengthTangentAtFrom

public void queryChordLengthTangentAtFrom(IPoint tangent,
                                          boolean[] setByUser)
                                   throws java.io.IOException,
                                          AutomationException
Returns tangent vector at 'from' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.

Specified by:
queryChordLengthTangentAtFrom in interface IBezierCurve
Specified by:
queryChordLengthTangentAtFrom in interface IBezierCurveGEN
Parameters:
tangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
setByUser - The setByUser (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryChordLengthTangentAtTo

public void queryChordLengthTangentAtTo(IPoint tangent,
                                        boolean[] setByUser)
                                 throws java.io.IOException,
                                        AutomationException
Returns tangent vector at 'to' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.

Specified by:
queryChordLengthTangentAtTo in interface IBezierCurve
Specified by:
queryChordLengthTangentAtTo in interface IBezierCurveGEN
Parameters:
tangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
setByUser - The setByUser (in/out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setChordLengthTangentAtFrom

public void setChordLengthTangentAtFrom(IPoint tangent,
                                        boolean setByUser)
                                 throws java.io.IOException,
                                        AutomationException
Establishes tangent vector at 'from' point, based on chord length parametrization; and sets flag whether it has been set by user or by smoothing process.

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

setChordLengthTangentAtTo

public void setChordLengthTangentAtTo(IPoint tangent,
                                      boolean setByUser)
                               throws java.io.IOException,
                                      AutomationException
Establishes tangent vector at 'to' point, based on chord length parametrization; and sets flag whether it has been set by user or by smoothing process.

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

queryInflectionPoint

public void queryInflectionPoint(IPoint inflectionPoint)
                          throws java.io.IOException,
                                 AutomationException
Finds inflection point; sets it empty if none exists.

Specified by:
queryInflectionPoint in interface IBezierCurve
Specified by:
queryInflectionPoint in interface IBezierCurveGEN
Parameters:
inflectionPoint - 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.

queryCoords

public void queryCoords(IPoint controlPoints)
                 throws java.io.IOException,
                        AutomationException
Copies this Bezier curve's control points into the array of 4 existing points.

Specified by:
queryCoords in interface IBezierCurve
Parameters:
controlPoints - 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.

putCoords

public void putCoords(int numPoints,
                      IPoint controlPoints)
               throws java.io.IOException,
                      AutomationException
Sets this Bezier curve's control points from an array of between 1 to 4 input points.

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

getLength

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

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

getFromPoint

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

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

setFromPoint

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

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

queryFromPoint

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

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

getToPoint

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

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

setToPoint

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

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

queryToPoint

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

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

queryPoint

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

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

queryPointAndDistance

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

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

queryTangent

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

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

queryNormal

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

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

getSubcurve

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

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

reverseOrientation

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

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

isClosed

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

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

getGeometryType

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

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

getDimension

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

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

getSpatialReference

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

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

setSpatialReferenceByRef

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

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

isEmpty

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

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

setEmpty

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

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

queryEnvelope

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

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

getEnvelope

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

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

project

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

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

snapToSpatialReference

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

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

geoNormalize

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

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

geoNormalizeFromLongitude

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

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

isLine

public boolean isLine()
               throws java.io.IOException,
                      AutomationException
Indicates if the curve degenerated to a line.

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

getParameter

public double getParameter(double distanceAlongCurve,
                           boolean asRatio)
                    throws java.io.IOException,
                           AutomationException
The parametric distance along the bezier.

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

move

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

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

moveVector

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

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

scale

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

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

rotate

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

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

transform

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

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

putCoordsEx

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

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

queryPointsAndDistances

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

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

queryCurvature

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

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

returnTurnDirection

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

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

splitAtDistance

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

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

splitDivideLength

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

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
Densify segment into the specified number of smaller segments. This method is intended for internal use only.

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

geographicShift

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

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

constructTangentsAtEndpoints

public void constructTangentsAtEndpoints(ILine pTangentAtFrom,
                                         ILine pTangentAtTo)
                                  throws java.io.IOException,
                                         AutomationException
Constructs a Bezier curve from tangents at both endpoints.

Specified by:
constructTangentsAtEndpoints in interface IConstructBezierCurve
Parameters:
pTangentAtFrom - A reference to a com.esri.arcgis.geometry.ILine (in)
pTangentAtTo - 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.

queryNearestPoint

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

Specified by:
queryNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
nearest - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

returnNearestPoint

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

Specified by:
returnNearestPoint in interface IProximityOperator
Parameters:
p - A reference to a com.esri.arcgis.geometry.IPoint (in)
extension - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

returnDistance

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

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

interfaceSupportsErrorInfo

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

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

esri_clone

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

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

assign

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

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

isEqual

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

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

isIdentical

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

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

getMs

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

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

setMs

public void setMs(double fromM,
                  double toM)
           throws java.io.IOException,
                  AutomationException
Set the Ms on the segment's endpoints.

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
Get the Zs on the segment's endpoints.

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

setZs

public void setZs(double fromZ,
                  double toZ)
           throws java.io.IOException,
                  AutomationException
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
Get the IDs on the segment's endpoints.

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
Set the IDs on the segment's endpoints.

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