com.esri.arcgis.geometry
Interface ICircularArc

All Superinterfaces:
ICurve, IGeometry, Serializable
All Known Implementing Classes:
CircularArc

public interface ICircularArc
extends ICurve, Serializable

Provides access to members that control properties of circular arcs.

Description

A CircularArc is an object that describes any portion of a circle. The size of the CircularArc is determined by the length of the Radius and the Central Angle. CircularArcs can be constructed by numerous different methods given a wide variety of input parameters. A CircularArc differs from an EllipticArc in that every point along the CircularArc must be a fixed distance (the Radius) from the CenterPoint.

Remarks

ICircularArc Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IPoint, IGeometry, IConstructCircularArc, ISegment

Method Summary
 void complement()
          Changes this arc into its complement; 'from' and 'to' points are unchanged.
 IPoint getCenterPoint()
          The center point.
 double getCentralAngle()
          The included (or central) angle.
 double getChordHeight()
          The chord height (assigning preserves endpoints, and orientation unless chord height is < 0).
 double getFromAngle()
          The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc starts.
 double getRadius()
          The radius.
 double getToAngle()
          The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc ends.
 boolean isCounterClockwise()
          Indicates if this circular is oriented counter-clockwise from its 'from' point to its 'to' point.
 boolean isLine()
          Indicates if the arc has degenerated to a line (radius is infinite).
 boolean isMinor()
          Indicates whether this circular arc is a minor arc or a major arc.
 boolean isPoint()
          Indicates if the arc has degenerated to a point (radius is 0).
 void putCoords(IPoint center, IPoint from, IPoint to, int arcOrientation)
          Defines this arc by a center point, 'from' and 'to' points, and orientation.
 void putCoordsByAngle(IPoint cp, double fromAngle, double centralAngle, double arcRadius)
          Defines this circular arc by a center point, 'from' angle, signed central angle, and radius.
 void putRadiusByPoint(IPoint radialPoint)
          Defines the radius of this circular arc to be the distance from the arc's center point to the input point; other properties remain unchanged.
 void queryCenterPoint(IPoint center)
          Copies the center point of this circular arc to the input point.
 void queryCoords(IPoint center, IPoint from, IPoint to, boolean[] isCCW, boolean[] isMinor)
          Copies the center, 'from' and 'to' points, orientation and major/minor property into the input parameters.
 void queryCoordsByAngle(IPoint center, double[] fromAngle, double[] centerAngle, double[] arcRadius)
          Returns the center point, 'from' angle, signed central angle, and radius.
 void setCentralAngle(double outCentalAngle)
          The included (or central) angle.
 void setChordHeight(double chordHeight)
          The chord height (assigning preserves endpoints, and orientation unless chord height is < 0).
 void setFromAngle(double outFromAngle)
          The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc starts.
 void setIsCounterClockwise(boolean isCCW)
          Indicates if this circular is oriented counter-clockwise from its 'from' point to its 'to' point.
 void setIsMinor(boolean isMinor)
          Indicates whether this circular arc is a minor arc or a major arc.
 void setRadius(double outRadius)
          The radius.
 void setToAngle(double outToAngle)
          The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc ends.
 
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 center,
                 IPoint from,
                 IPoint to,
                 boolean[] isCCW,
                 boolean[] isMinor)
                 throws IOException,
                        AutomationException
Copies the center, 'from' and 'to' points, orientation and major/minor property into the input parameters.

Description

QueryCoords returns the Center Point, the From Point, the To Point, the value of IsCounterClockwise, and the value of IsMinor for the Circular Arc.

Remarks

These are the necessary inputs for PutCoords, except in special cases (half circle, full circle, and Central Angle = 0) where the ArcOrientation must know which of these cases exists to ensure that the desired Circular Arc is unambiguous.

-isCCW stands for "is counter clockwise"

ICircularArc QueryCoords Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
isCCW - The isCCW (in/out: use single element array)
isMinor - The isMinor (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICircularArc.putCoords(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, int)

putCoords

void putCoords(IPoint center,
               IPoint from,
               IPoint to,
               int arcOrientation)
               throws IOException,
                      AutomationException
Defines this arc by a center point, 'from' and 'to' points, and orientation. If the from and to points do not lie on the same circle, the arc's center point will be adjusted.

Description

Use to create a Circular Arc by specifying the Center Point, From Point, To Point, and ArcOrientation. Care must be taken to ensure that the ArcOrientation is not ambiguous (For half-circles, ArcOrientation must be either Clockwise or CounterClockwise, and when the From Point and To Point are the same, ArcOrientation must be either Minor or Major.).

Remarks

If the FromPoint, ToPoint and CenterPoint specified do not create a circle, the created arc will have its CenterPoint adjusted until the FromPoint and ToPoint can be accomodated on the same circle. Therefore the resultant arcs CenterPoint may not be exactly the same as the input CenterPoint.

ICircularArc PutCoords Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
arcOrientation - A com.esri.arcgis.geometry.esriArcOrientation constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICircularArc.queryCoords(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, boolean[], boolean[]), ICircularArc.putCoordsByAngle(com.esri.arcgis.geometry.IPoint, double, double, double)

queryCoordsByAngle

void queryCoordsByAngle(IPoint center,
                        double[] fromAngle,
                        double[] centerAngle,
                        double[] arcRadius)
                        throws IOException,
                               AutomationException
Returns the center point, 'from' angle, signed central angle, and radius.

Description

Returns the Center Point, From Angle, Central Angle, and Radius for the Circular Arc. These are the same parameters used by PutCoordsByAngle to create the Circular Arc.

Remarks

ICircularArc QueryCoordsByAngle Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
center - A reference to a com.esri.arcgis.geometry.IPoint (in)
fromAngle - The fromAngle (in/out: use single element array)
centerAngle - The centerAngle (in/out: use single element array)
arcRadius - The arcRadius (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICircularArc.putCoordsByAngle(com.esri.arcgis.geometry.IPoint, double, double, double)

putCoordsByAngle

void putCoordsByAngle(IPoint cp,
                      double fromAngle,
                      double centralAngle,
                      double arcRadius)
                      throws IOException,
                             AutomationException
Defines this circular arc by a center point, 'from' angle, signed central angle, and radius.

Description

PutCoordsByAngle creates a Circular Arc given the Center Point, the From Angle, the Central Angle, and the Radius.

Remarks

PutCoordsByAngle is one of the easiest ways to create a desired Circular Arc. However, due to numeric accuracy limitations of computers and trigonometric functions, the From and To Points may be very slightly offset from the expected coordinates. This is important to keep in mind when attempting to connect the endpoints to other segments.

ICircularArc PutCoordsByAngle Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
cp - A reference to a com.esri.arcgis.geometry.IPoint (in)
fromAngle - The fromAngle (in)
centralAngle - The centralAngle (in)
arcRadius - The arcRadius (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICircularArc.queryCoordsByAngle(com.esri.arcgis.geometry.IPoint, double[], double[], double[])

putRadiusByPoint

void putRadiusByPoint(IPoint radialPoint)
                      throws IOException,
                             AutomationException
Defines the radius of this circular arc to be the distance from the arc's center point to the input point; other properties remain unchanged.

Description

PutRadiusByPoint sets the Radius of the Circular Arc to be the distance between the Center Point and the input Point. This has the same effect as setting the Radius using the Radius property of the Circular Arc.

Remarks

CircularArc PutRadiusByPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
radialPoint - 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.

getCenterPoint

IPoint getCenterPoint()
                      throws IOException,
                             AutomationException
The center point.

Description

Returns the Center Point of the CircularArc. The Center Point is the Point equidistant from all other points on the CircularArc, and it is the point from which the Radius is measured.

Remarks

CircularArc CenterPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryCenterPoint

void queryCenterPoint(IPoint center)
                      throws IOException,
                             AutomationException
Copies the center point of this circular arc to the input point.

Description

Returns the Center Point of the CircularArc. The Center Point is the Point equidistant from all other points on the CircularArc, and it is the point from which the Radius is measured.

Remarks

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

CircularArc QueryCenterPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
center - 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.

getRadius

double getRadius()
                 throws IOException,
                        AutomationException
The radius.

Description

The radius is the distance from the Center of the circle to the arc. This property can be used to query the current radius of the circular arc or assign a new radius which changes the location of the From and To Points of the Circular Arc, but maintains the From Angle, Central Angle, and Orientation.

Remarks

CircularArc Radius Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRadius

void setRadius(double outRadius)
               throws IOException,
                      AutomationException
The radius.

Description

The radius is the distance from the Center of the circle to the arc. This property can be used to query the current radius of the circular arc or assign a new radius which changes the location of the From and To Points of the Circular Arc, but maintains the From Angle, Central Angle, and Orientation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
outRadius - The outRadius (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFromAngle

double getFromAngle()
                    throws IOException,
                           AutomationException
The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc starts.

Description

The FromAngle is the angle from which the CircularArc starts. The FromAngle is measured in radians (there are 2*pi radians in a full circle. 0 Radians is the horizontal line parallel to the unrotated X-Axis extending to the right of the CenterPoint.). The FromAngle is the angle of the line drawn between the CenterPoint and the FromPoint.

Remarks

CircularArc FromAngle Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFromAngle

void setFromAngle(double outFromAngle)
                  throws IOException,
                         AutomationException
The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc starts.

Description

The FromAngle is the angle from which the CircularArc starts. The FromAngle is measured in radians (there are 2*pi radians in a full circle. 0 Radians is the horizontal line parallel to the unrotated X-Axis extending to the right of the CenterPoint.). The FromAngle is the angle of the line drawn between the CenterPoint and the FromPoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
outFromAngle - The outFromAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getToAngle

double getToAngle()
                  throws IOException,
                         AutomationException
The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc ends.

Description

The ToAngle is the angle at which the CircularArc ends. The ToAngle is measured in radians (there are 2*pi radians in a full circle. 0 Radians is the horizontal line parallel to the unrotated X-Axis extending to the right of the CenterPoint.). The ToAngle is the angle of the line drawn between the CenterPoint and the ToPoint.

Remarks

CircularArc ToAngle Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setToAngle

void setToAngle(double outToAngle)
                throws IOException,
                       AutomationException
The angle, measured from a horizontal line through this circular arc's center point, that defines where this arc ends.

Description

The ToAngle is the angle at which the CircularArc ends. The ToAngle is measured in radians (there are 2*pi radians in a full circle. 0 Radians is the horizontal line parallel to the unrotated X-Axis extending to the right of the CenterPoint.). The ToAngle is the angle of the line drawn between the CenterPoint and the ToPoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
outToAngle - The outToAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentralAngle

double getCentralAngle()
                       throws IOException,
                              AutomationException
The included (or central) angle.

Description

The CentralAngle describes the span of the CircularArc. The CentralAngle is the angular measure between the FromAngle and the ToAngle. The CentralAngle is measured in Radians and is always between -2*Pi and 2*Pi. If the Central Angle > 0, then the Circular Arc is oriented CounterClockwise. If the Central Angle < 0, then the Circular Arc is oriented Clockwise.

Remarks

CircularArc CentralAngle Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setCentralAngle

void setCentralAngle(double outCentalAngle)
                     throws IOException,
                            AutomationException
The included (or central) angle.

Description

The CentralAngle describes the span of the CircularArc. The CentralAngle is the angular measure between the FromAngle and the ToAngle. The CentralAngle is measured in Radians and is always between -2*Pi and 2*Pi. If the Central Angle > 0, then the Circular Arc is oriented CounterClockwise. If the Central Angle < 0, then the Circular Arc is oriented Clockwise.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
outCentalAngle - The outCentalAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getChordHeight

double getChordHeight()
                      throws IOException,
                             AutomationException
The chord height (assigning preserves endpoints, and orientation unless chord height is < 0).

Description

The Chord Height is the positive perpendicular distance measured from the center of the chord to Circular Arc. The chord is the Line defined by the From and To Points of the Circular Arc. Setting the Chord Height redefines the Circular Arc, but maintains the existing From and To Points.

Remarks

CircularArc ChordHeight Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setChordHeight

void setChordHeight(double chordHeight)
                    throws IOException,
                           AutomationException
The chord height (assigning preserves endpoints, and orientation unless chord height is < 0).

Description

The Chord Height is the positive perpendicular distance measured from the center of the chord to Circular Arc. The chord is the Line defined by the From and To Points of the Circular Arc. Setting the Chord Height redefines the Circular Arc, but maintains the existing From and To Points.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
chordHeight - The chordHeight (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLine

boolean isLine()
               throws IOException,
                      AutomationException
Indicates if the arc has degenerated to a line (radius is infinite).

Description

IsLine returns TRUE when the Radius of the CircularArc is Infinity.

Remarks

A CircularArc that returns TRUE can be constructed using ConstructThreePoints and three colinear points.

CircularArc IsLine Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isPoint

boolean isPoint()
                throws IOException,
                       AutomationException
Indicates if the arc has degenerated to a point (radius is 0).

Description

IsPoint returns TRUE when the Radius equals 0.

Remarks

IsPoint returns FALSE when the Radius > 0, even if the CentralAngle equals 0.

CircularArc IsPoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCounterClockwise

boolean isCounterClockwise()
                           throws IOException,
                                  AutomationException
Indicates if this circular is oriented counter-clockwise from its 'from' point to its 'to' point.

Description

IsCounterClockwise returns TRUE if the CentralAngle is greater than 0. If the IsCounterClockwise values differ, setting IsCounterClockwise changes the CircularArc to its Complement.

Remarks

IsCCW Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setIsCounterClockwise

void setIsCounterClockwise(boolean isCCW)
                           throws IOException,
                                  AutomationException
Indicates if this circular is oriented counter-clockwise from its 'from' point to its 'to' point.

Description

IsCounterClockwise returns TRUE if the CentralAngle is greater than 0. If the IsCounterClockwise values differ, setting IsCounterClockwise changes the CircularArc to its Complement.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
isCCW - The isCCW (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMinor

boolean isMinor()
                throws IOException,
                       AutomationException
Indicates whether this circular arc is a minor arc or a major arc.

Description

IsMinor is TRUE when the CentralAngle < Pi (180 degrees). If the IsMinor values differ, setting IsMinor changes the CircularArc to its Complement.

Remarks

CircularArc IsMinor Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setIsMinor

void setIsMinor(boolean isMinor)
                throws IOException,
                       AutomationException
Indicates whether this circular arc is a minor arc or a major arc.

Description

IsMinor is TRUE when the CentralAngle < Pi (180 degrees). If the IsMinor values differ, setting IsMinor changes the CircularArc to its Complement.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
isMinor - The isMinor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

complement

void complement()
                throws IOException,
                       AutomationException
Changes this arc into its complement; 'from' and 'to' points are unchanged.

Description

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

Remarks

Complement Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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