com.esri.arcgis.geometry
Interface IBezierCurve

All Superinterfaces:
ICurve, IGeometry, Serializable
All Known Subinterfaces:
IBezierCurve2, IBezierCurve3
All Known Implementing Classes:
BezierCurve

Deprecated. This interface uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by IBezierCurveGEN. You can use the GEN interface proxy's Object-constructor to cast an instance of this interface to its GEN equivalent. Any ArcGIS class that implements this interface also implements the GEN interface.

public interface IBezierCurve
extends ICurve, Serializable

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

Superseded By

IBezierCurve2

Description

A Bezier Curve is a non-linear Segment defined by four control points. The bezier curve starts at control point 0 and ends at control point 3. Control points 0 and 1 define the tangent at the from point and control points 2 and 3 define the tangent at the to point. The length of these tangent lines and position of the control points determines the shape of the created bezier curve.

Remarks

IBezierCurve Example

When To Use

The IBezierCurve interface is used to define the properties/behavior of a Bezier Curve. For example, use the methods in this interface to put control points to define a Bezier Curve object or query an existing Bezier Curve object to get its four control points.


Product Availability

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

See Also:
IConstructBezierCurve, IPoint, IGeometry, ISegment

Method Summary
 int getDegree()
          Deprecated. The degree of the Bezier curve.
 void putCoord(int index, IPoint controlPoint)
          Deprecated. Sets the specified (0 <= index < 4) control point of this Bezier curve.
 void putCoords(int numPoints, IPoint controlPoints)
          Deprecated. Sets this Bezier curve's control points from an array of between 1 to 4 input points.
 void queryChordLengthTangentAtFrom(IPoint tangent, boolean[] setByUser)
          Deprecated. 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)
          Deprecated. 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)
          Deprecated. Copies the specified control point of this Bezier curve into the input point.
 void queryCoords(IPoint controlPoints)
          Deprecated. Copies this Bezier curve's control points into the array of 4 existing points.
 void queryInflectionPoint(IPoint inflectionPoint)
          Deprecated. Finds inflection point; sets it empty if none exists.
 void setChordLengthTangentAtFrom(IPoint tangent, boolean setByUser)
          Deprecated. 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)
          Deprecated. 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 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
 

Method Detail

queryCoords

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
controlPoints - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putCoords

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryCoord

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
controlPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putCoord

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
controlPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPoint

getDegree

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

Description

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The degree
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryChordLengthTangentAtFrom

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

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryChordLengthTangentAtTo

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

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setChordLengthTangentAtFrom

void setChordLengthTangentAtFrom(IPoint tangent,
                                 boolean setByUser)
                                 throws IOException,
                                        AutomationException
Deprecated. 
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.

Description

Sets the ChordLength Tangent at the From Point of the BezierCurve. 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setChordLengthTangentAtTo

void setChordLengthTangentAtTo(IPoint tangent,
                               boolean setByUser)
                               throws IOException,
                                      AutomationException
Deprecated. 
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.

Description

Sets the ChordLength Tangent at the To Point of the BezierCurve. 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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryInflectionPoint

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
inflectionPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.