com.esri.arcgis.geometry
Class IBezierCurveProxy

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.IBezierCurveProxy
All Implemented Interfaces:
java.io.Externalizable, IBezierCurve, ICurve, IGeometry, java.io.Serializable

public class IBezierCurveProxy
extends ICurveProxy
implements IBezierCurve, java.io.Serializable

Provides access to members that identify third degree bezier curve segments and defines their properties.

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
  IBezierCurveProxy()
          For internal use only
  IBezierCurveProxy(java.lang.Object obj)
           
protected IBezierCurveProxy(java.lang.Object obj, java.lang.String iid)
           
  IBezierCurveProxy(java.lang.String CLSID, java.lang.String host, AuthInfo authInfo)
           
protected IBezierCurveProxy(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.
 int getDegree()
          The degree of the Bezier curve.
 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 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 queryInflectionPoint(IPoint inflectionPoint)
          Finds inflection point; sets it empty if none exists.
 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 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.
 
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

IBezierCurveProxy

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

IBezierCurveProxy

public IBezierCurveProxy()
For internal use only


IBezierCurveProxy

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

IBezierCurveProxy

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

IBezierCurveProxy

protected IBezierCurveProxy(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

queryCoords

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

Supported Platforms

Windows, Solaris, Linux

Description

QueryCoords returns all four of the BezierCurve control points into an array of 4 Points.

Remarks

Use QueryCoord to get a specific control point.

 

BezierCurve QueryCoords Example

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
Description copied from interface: IBezierCurve
Sets this Bezier curve's control points from an array of between 1 to 4 input points.

Supported Platforms

Windows, Solaris, Linux

Description

It is recommended that the IBezierCurveGEN::PutCoords OLE Automation compliant version of this method be used instead of this version.

Remarks

Use PutCoord to set a single control point.

 

BezierCurve PutCoords Example

Specified by:
putCoords in interface IBezierCurve
Parameters:
numPoints - The numPoints (in)
controlPoints - 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.

queryCoord

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

Supported Platforms

Windows, Solaris, Linux

Description

Use QueryCoord to obtain a specific bezier control Point.  Any of the four bezier control points (0 to 3) can be queried.

Remarks

Use QueryCoords to get all of the control points.

 

BezierCurve QueryCoord Example

Specified by:
queryCoord in interface IBezierCurve
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
Description copied from interface: IBezierCurve
Sets the specified (0 <= index < 4) control point of this Bezier curve.

Supported Platforms

Windows, Solaris, Linux

Description

Places a specific control Point into a bezier curve.  Control point 0 is the FromPoint of the Bezier curve (also the From tangent's FromPoint), control point 1 is the From tangent's ToPoint, control point 2 is the To tangent's FromPoint, and control point 3 is the ToPoint of the Bezier curve (also the To tangent's ToPoint).

Remarks

Use PutCoords to set all control points simultaneously. PutCoord should not be use to create a new BezierCurve, use PutCoords instead. PutCoord should only be use to modify an existing and well define BezierCurve.

 

BezierCurve PutCoord Example

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

getDegree

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

Supported Platforms

Windows, Solaris, Linux

Description

Returns the degree of the Bezier Curve.  Currently, all Bezier Curves have a degree of 3 by definition.

Specified by:
getDegree in interface IBezierCurve
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
Description copied from interface: IBezierCurve
Returns tangent vector at 'from' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the ChordLength Tangent at the From Point of the BezierCurve along with a flag indicating whether this ChordLength Tangent was set by the user or defined from Control Points.  The ChordLength Tangent is not the same as the internal Control Points or the Tangent at the From Point although both lie on the same line. The coordinates of the returned point are in reality a Dx and Dy which can be added to the From point in order to get the tangent.

Specified by:
queryChordLengthTangentAtFrom in interface IBezierCurve
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
Description copied from interface: IBezierCurve
Returns tangent vector at 'to' point, based on chord length parametrization; and whether it has been set by user or by smoothing process.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the ChordLength Tangent at the To Point of the BezierCurve along with a flag indicating whether this ChordLength Tangent was set by the user or defined from Control Points.  The ChordLength Tangent is not the same as the internal Control Points or the Tangent at the To Point although both lie on the same line. The coordinates of the returned point are in reality a Dx and Dy which can be added to the To point in order to get the tangent.

Specified by:
queryChordLengthTangentAtTo in interface IBezierCurve
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
Description copied from interface: IBezierCurve
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
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
Description copied from interface: IBezierCurve
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
Parameters:
tangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
setByUser - The setByUser (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryInflectionPoint

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

Supported Platforms

Windows, Solaris, Linux

Description

Returns the first Inflection Point of the Bezier Curve, or returns an Empty Point if no Inflection Point Exists.  An Inflection Point occurs where the sign of the Curvature changes.

Remarks

Most Bezier Curves have 0 or 1 Inflection Points, but a few constructions result in Bezier Curves with 2 Inflection Points.  For these Bezier Curve, the only way to find both Inflection Points is to Reverse the Orientation of the Bezier Curve and call QueryInflectionPoint a second time.  If the Inflection Points are not equal, the Bezier Curve has two Inflection Points, otherwise, it only has a single Inflection Point.

BezierCurve QueryInflectionPoint Example

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