com.esri.arcgis.geometry
Class IPathProxy

java.lang.Object
  extended bycom.esri.arcgis.interop.Dispatch
      extended bycom.esri.arcgis.geometry.IGeometryProxy
          extended bycom.esri.arcgis.geometry.ICurveProxy
              extended bycom.esri.arcgis.geometry.IPathProxy
All Implemented Interfaces:
java.io.Externalizable, ICurve, IGeometry, IPath, java.io.Serializable
Direct Known Subclasses:
IRingProxy

public class IPathProxy
extends ICurveProxy
implements IPath, java.io.Serializable

Provides access to members that identify a path and define its behavior.

Product Availability

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

See Also:
Serialized Form

Field Summary
static java.lang.Class targetClass
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF
 
Constructor Summary
  IPathProxy()
          For internal use only
  IPathProxy(java.lang.Object obj)
           
protected IPathProxy(java.lang.Object obj, java.lang.String iid)
           
  IPathProxy(java.lang.String CLSID, java.lang.String host, AuthInfo authInfo)
           
protected IPathProxy(java.lang.String CLSID, java.lang.String iid, java.lang.String host, AuthInfo authInfo)
           
 
Method Summary
 void addListener(java.lang.String iidStr, java.lang.Object theListener, java.lang.Object theSource)
          Adds a Java object to be a listener for a specific kind of event generated by the COM object.
 void generalize(double maxAllowableOffset)
          Generalizes this path using the Douglas-Poiker algorithm.
 void queryChordLengthTangents(int pointIndex, IPoint prevTangent, boolean[] prevSetByUser, IPoint nextTangent, boolean[] nextSetByUser)
          Returns tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; and whether they have been set by user or by smoothing process.
 void removeListener(java.lang.String iidStr, java.lang.Object theListener)
          Removes a Java object as a listener to events generated by a COM object.
 void setChordLengthTangents(int pointIndex, IPoint prevTangent, IPoint nextTangent)
          Sets tangent vectors (relative to corresponding endpoint) at both sides of a Bezier end point; if either is Nothing, they will be set by smoothing process.
 void smooth(double maxAllowableOffset)
          Converts this path into a smooth approximation of itself that contains only Bezier curve segments.
 void smoothLocal(int vertexIndex)
          Replaces up to four segments (two on each of the specified vertex index) with bezier curves.
 
Methods inherited from class com.esri.arcgis.geometry.ICurveProxy
getFromPoint, getLength, getSubcurve, getToPoint, isClosed, queryFromPoint, queryNormal, queryPoint, queryPointAndDistance, queryTangent, queryToPoint, reverseOrientation, setFromPoint, setToPoint
 
Methods inherited from class com.esri.arcgis.geometry.IGeometryProxy
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, hashCode, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, readExternal, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geometry.ICurve
getFromPoint, getLength, getSubcurve, getToPoint, isClosed, queryFromPoint, queryNormal, queryPoint, queryPointAndDistance, queryTangent, queryToPoint, reverseOrientation, setFromPoint, setToPoint
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 

Field Detail

targetClass

public static final java.lang.Class targetClass
Constructor Detail

IPathProxy

public IPathProxy(java.lang.String CLSID,
                  java.lang.String host,
                  AuthInfo authInfo)
           throws java.net.UnknownHostException,
                  java.io.IOException

IPathProxy

public IPathProxy()
For internal use only


IPathProxy

public IPathProxy(java.lang.Object obj)
           throws java.io.IOException

IPathProxy

protected IPathProxy(java.lang.Object obj,
                     java.lang.String iid)
              throws java.io.IOException

IPathProxy

protected IPathProxy(java.lang.String CLSID,
                     java.lang.String iid,
                     java.lang.String host,
                     AuthInfo authInfo)
              throws java.io.IOException
Method Detail

addListener

public void addListener(java.lang.String iidStr,
                        java.lang.Object theListener,
                        java.lang.Object theSource)
                 throws java.io.IOException
Description copied from class: Dispatch
Adds a Java object to be a listener for a specific kind of event generated by the COM object. when you wish to invoke method on the COM object using IDispatch (not using custom marshalling).

Overrides:
addListener in class ICurveProxy
Throws:
java.io.IOException

removeListener

public void removeListener(java.lang.String iidStr,
                           java.lang.Object theListener)
                    throws java.io.IOException
Description copied from class: Dispatch
Removes a Java object as a listener to events generated by a COM object. when you wish to invoke method on the COM object using IDispatch (not using custom marshalling).

Overrides:
removeListener in class ICurveProxy
Throws:
java.io.IOException

generalize

public void generalize(double maxAllowableOffset)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IPath
Generalizes this path using the Douglas-Poiker algorithm.

Supported Platforms

Windows, Solaris, Linux

Description

Generalizes the Path into a generalized collection of Line segments.  Generalize performs a Douglas-Poiker Generalization algorithm with a specified maximum offset tolerance given as input.  For Line segments, the Generalized output is a subset of the original input vertices.  For non-Linear segments, the Generalized output contains points along all parts of the curve, not necessarily only the vertices.

Remarks

For a path with non-linear segments, the output curve may contain more vertices than the input curve, but all output segments will be linear.

IPath Generalize Example

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

smooth

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

Supported Platforms

Windows, Solaris, Linux

Description

Converts the Path into a Path containing only BezierCurve segments.  The created BezierCurve path is a Generalization of the original path that has a maximum deviation of maxDeviation from the original path.  If maxDeviation = 0, all of the original vertices are maintained.  At each vertex, the adjoining BezierCurves have complementary tangents which creates a continuous (smooth) transition between segments.

Remarks

 

IPath Smooth Example

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

smoothLocal

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

Supported Platforms

Windows, Solaris, Linux

Description

Converts segments containing the indexed vertex into BezierCurves and performs a smoothing operation only at the two segments on either side of the input vertex.  The created BezierCurves have complementary tangents at the indexed vertex.

Remarks

 

IPath SmoothLocal Example

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

queryChordLengthTangents

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

Supported Platforms

Windows, Solaris, Linux

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

setChordLengthTangents

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

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