com.esri.arcgis.editor
Interface ICourse

All Superinterfaces:
Serializable
All Known Implementing Classes:
Course

public interface ICourse
extends Serializable

Provides access to members that define a course in a traverse.

Remarks

ICourse allows Segments to be constructed with coordinate geometry values. The type of segment created depends on the course Type. The DirectionDistance and AngleDistance courses create line segments, the TangentCurve and Curve courses create circular arc segments.

When the course type is DirectionDistance, Measure1 is the direction of the line segment and Measure2 is the distance of the line segment. For a course type of AngleDistance, Measure1 is the clockwise angle between the previous segment and the new segment and Measure2 is the distance of the line segment. For both the TangentCurve and Curve course types, Measure1 and Measure2 are any two of the valid CurveParameters required to create a circular arc including Chord Length, Arc Length, Delta Angle or Radius. The TurnDirection is also required to indicate if the curve turns to the left or right If the course type is Curve, Measure3 and CurveDirection define the direction of the curve.

AddSegment is used to create the new segment once the parameters are set. A from point must exist for the segment to be added relative to. GetDescription can be used to return a description of the course using the current Editor DirectionType and DirectionUnits.

All directions are in polar radians, angles are in radians and distances are in the current map units of the data frame.

Product Availability

Available with ArcGIS Desktop.


Method Summary
 ISegment addSegment(IGeometry geom, double distanceFactor, double angularOffset)
          Adds a reference for the course to the input geometry.
 ICourse esri_clone()
          Clones the course and adds the result to *clone.
 int getCurveDirectionType()
          If the course type is esriCTCurve, defines the curve direction type of the third value.
 int getCurveParameter1()
          If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the first value.
 int getCurveParameter2()
          If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the second value.
 String getDescription(IEditor editor)
          Description of the course.
 double getMeasure1()
          The first value that defines the course.
 double getMeasure2()
          The second value that defines the course.
 double getMeasure3()
          Optionally, the direction of the curve if the course type is esriCTCurve.
 int getTurnDirection()
          Indicates if curve turns to the left or right.
 int getType()
          The type of course.
 void setCurveDirectionType(int cdt)
          If the course type is esriCTCurve, defines the curve direction type of the third value.
 void setCurveParameter1(int cp)
          If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the first value.
 void setCurveParameter2(int cp)
          If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the second value.
 void setMeasure1(double measure)
          The first value that defines the course.
 void setMeasure2(double measure)
          The second value that defines the course.
 void setMeasure3(double measure)
          Optionally, the direction of the curve if the course type is esriCTCurve.
 void setTurnDirection(int td)
          Indicates if curve turns to the left or right.
 void setType(int type)
          The type of course.
 

Method Detail

getType

int getType()
            throws IOException,
                   AutomationException
The type of course.

Remarks

Specifies the type of course that will be added when the AddSegment method is used. The course is defined by the other methods on the ICourse interface. There are four course types;

esriCTDirectionDistance - Add a straight course defined by a direction and a distance.

esriCTAngleDistance - Add a straight course defined by an angle from the previous course and a distance.

esriCTCurve - Add a non-tangent curve course. Any of the following parameters can be used to define the curve; Radius, Arc, Angle or Curve. The TurnDirection specifies that the course will be curving to the left or to the right. The direction of the curve can be specified as a tangent, a radial toward the center point or a chord direction.

esriCTTangentCurve - Add a curve that is tangent to the previous course. Use the same parameters as the esriCTCurve to define the curve.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
A com.esri.arcgis.editor.esriCourseType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setType

void setType(int type)
             throws IOException,
                    AutomationException
The type of course.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
type - A com.esri.arcgis.editor.esriCourseType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMeasure1

double getMeasure1()
                   throws IOException,
                          AutomationException
The first value that defines the course.

Remarks

The Measure1 value is a direction, angle or a distance used to define a course segment.

When the Course Type is and CurveParameter1 is then Measure1 is
esriCTDirectionDistance Direction
esriCTAngleDistance Angle
esriCTTangentCurve esriCPChord Distance
esriCTTangentCurve esriCPArc Distance
esriCTTangentCurve esriCPRadius Distance
esriCTTangentCurve esriCPAngle Angle
esriCTCurve esriCPChord Distance
esriCTCurve esriCPArc Distance
esriCTCurve esriCPRadius Distance
esriCTCurve esriCPAngle Angle

A distance is specified in the linear units of the map. A angle is specified in radian. A direction is also specified in radians defined as polar units, measured counter clockwise from the positive x-axis.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setMeasure1

void setMeasure1(double measure)
                 throws IOException,
                        AutomationException
The first value that defines the course.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getMeasure2

double getMeasure2()
                   throws IOException,
                          AutomationException
The second value that defines the course.

Remarks

The Measure2 value is either a distance or an angle used to define a course segment.

When the Course Type is and CurveParameter2 is then Measure2 is
esriCTDirectionDistance Distance
esriCTAngleDistance Distance
esriCTTangentCurve esriCPChord Distance
esriCTTangentCurve esriCPArc Distance
esriCTTangentCurve esriCPRadius Distance
esriCTTangentCurve esriCPAngle Angle
esriCTCurve esriCPChord Distance
esriCTCurve esriCPArc Distance
esriCTCurve esriCPRadius Distance
esriCTCurve esriCPAngle Angle

A distance is specified in the linear units of the map. An angle is specified in radians.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setMeasure2

void setMeasure2(double measure)
                 throws IOException,
                        AutomationException
The second value that defines the course.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getMeasure3

double getMeasure3()
                   throws IOException,
                          AutomationException
Optionally, the direction of the curve if the course type is esriCTCurve.

Remarks

The Measure3 value is a direction used to define a course segment. The Measure3 value is only used when the course type is esriCTCurve.

The value is specified in radians. The type of direction is specified in the CurveDirectionType property.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setMeasure3

void setMeasure3(double measure)
                 throws IOException,
                        AutomationException
Optionally, the direction of the curve if the course type is esriCTCurve.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getCurveParameter1

int getCurveParameter1()
                       throws IOException,
                              AutomationException
If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the first value.

Remarks

The CurveParameter1 property defines what the curve parameter in Measure1 value represents. The CurveParameter1 is only used when the course type is either esriCTCurve or esriCTTangentCurve.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
A com.esri.arcgis.editor.esriCurveParameter constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurveParameter1

void setCurveParameter1(int cp)
                        throws IOException,
                               AutomationException
If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the first value.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
cp - A com.esri.arcgis.editor.esriCurveParameter constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurveParameter2

int getCurveParameter2()
                       throws IOException,
                              AutomationException
If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the second value.

Remarks

The CurveParameter2 property defines what the curve parameter in Measure2 value represents. The CurveParameter2 is only used when the course type is either esriCTCurve or esriCTTangentCurve.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
A com.esri.arcgis.editor.esriCurveParameter constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurveParameter2

void setCurveParameter2(int cp)
                        throws IOException,
                               AutomationException
If the course type is esriCTTangentCurve or esriCTCurve, defines the curve parameter of the second value.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
cp - A com.esri.arcgis.editor.esriCurveParameter constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTurnDirection

int getTurnDirection()
                     throws IOException,
                            AutomationException
Indicates if curve turns to the left or right.

Remarks

The TurnDirection property defines which way a circular arc geometry turns, to the left or right. The property is only used when the course type is either esriCTCurve or esruCTTangentCurve .

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
A com.esri.arcgis.editor.esriTurnDirection constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTurnDirection

void setTurnDirection(int td)
                      throws IOException,
                             AutomationException
Indicates if curve turns to the left or right.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
td - A com.esri.arcgis.editor.esriTurnDirection constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurveDirectionType

int getCurveDirectionType()
                          throws IOException,
                                 AutomationException
If the course type is esriCTCurve, defines the curve direction type of the third value.

Remarks

If the course being added is of type esriCTCurve, the direction of the geometry segment is specified with this property. The direction is defined in the Measure3 property.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
A com.esri.arcgis.editor.esriCurveDirectionType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurveDirectionType

void setCurveDirectionType(int cdt)
                           throws IOException,
                                  AutomationException
If the course type is esriCTCurve, defines the curve direction type of the third value.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
cdt - A com.esri.arcgis.editor.esriCurveDirectionType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSegment

ISegment addSegment(IGeometry geom,
                    double distanceFactor,
                    double angularOffset)
                    throws IOException,
                           AutomationException
Adds a reference for the course to the input geometry.

Remarks

Adds a geometry segment to the input geom object. If the variable is specified, a geometry segment is returned. The geometry segment must be specified using the other methods on the ICourse interface.

The geom is a 'higher level' geometry such as a Polyline or a Polygon.

The distanceFactor is a scale factor that is multiplied to any of the distances used to define the course segment. Use a value of 1 to not change the input distances.

The angularOffset is an correction that is added to any directions used to define the course segment. The value is specified in radians. Use a value of 0 to not change the input directions.

Note: If the Type is esriCTAngleDistance or esriCTTangentCurve, there must be at least one segment in the input geometry.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
geom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
distanceFactor - The distanceFactor (in)
angularOffset - The angularOffset (in)
Returns:
A reference to a com.esri.arcgis.geometry.ISegment
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

ICourse esri_clone()
                   throws IOException,
                          AutomationException
Clones the course and adds the result to *clone.

Product Availability

Available with ArcGIS Desktop.

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

getDescription

String getDescription(IEditor editor)
                      throws IOException,
                             AutomationException
Description of the course.

Remarks

Returns a description of the course. The description includes the course type and the course parameters.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
editor - A reference to a com.esri.arcgis.editor.IEditor (in)
Returns:
The description
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.