Provides access to members that identify a segment. A segment is a way of getting between two endpoints.
Members
Name | Description | |
---|---|---|
ConvertDistanceMeasureToRatio | Converts the distance measure to a ratio of the total distance. | |
Densify | Densify segment into the specified number of smaller segments. This method is intended for internal use only. | |
Dimension | The topological dimension of this geometry. | |
Envelope | Creates a copy of this geometry's envelope and returns it. | |
EnvelopeIntersection | Finds intersections with clipping envelope; boundaryOverlap is ignored for non-linear segments. | |
FromPoint | The 'from' point of the curve. | |
GeographicShift | Shift longitudes to the right of splitLongitude. This method is obsolete. | |
GeometryType | The type of this geometry. | |
GeoNormalize | Shifts longitudes, if need be, into a continuous range of 360 degrees. | |
GeoNormalizeFromLongitude | Normalizes longitudes into a continuous range containing the longitude. This method is obsolete. | |
GetDistanceAtVertexAttribute | Gets the distance corresponding to the attribute value along the segment. | |
GetPointsAtVertexAttribute | Gets the point at the location corresponding to the attribute value. | |
GetSubcurve | Extracts a portion of this curve into a new curve. | |
GetSubSegmentBetweenVertexAttributes | Gets the segment corresponding to the extent along the segment between the 'from' and 'to' attribute values. | |
GetVertexAttributeAtDistance | Gets the attribute value corresponding to the distance along the segment. | |
HasVertexAttributes | Returns two booleans telling if the segment as from attribute and to attribute values. | |
HorizontalIntersectionCount | Returns the number of horizontal intersections. | |
InterpolateVertexAttributes | Interpolates Z and M values at distanceAlongSegment and stores the results at point. | |
IsClosed | Indicates if 'from' and 'to' points (of each part) are identical. | |
IsEmpty | Indicates whether this geometry contains any points. | |
Length | The length of the curve. | |
MaxDistanceFromLine | Returns the maximum distance from the line. | |
Project | Projects this geometry into a new spatial reference. | |
PutAttributes | Sets some attributes from this point and copies them to another point. Awareness is not considered. | |
PutVertexAttributes | Sets the 'from' and the 'to' attribute values. | |
QueryAreaCorrection | Queries the area correction value. | |
QueryAttributes | Gets some attributes from this point and copies them to another point. Awareness is not considered. | |
QueryCentroidCorrection | Queries the centroid correction value. | |
QueryCurvature | Finds curvature and unit vector starting at point on segment and directed to embedded circle center. | |
QueryEnvelope | Copies this geometry's envelope properties into the specified envelope. | |
QueryFromPoint | Copies this curve's 'from' point to the input point. | |
QueryNormal | Constructs a line normal to a curve from a point at a specified distance along the curve. | |
QueryPoint | Copies to outPoint the properties of a point on the curve at a specified distance from the beginning of the curve. | |
QueryPointAndDistance | Finds the point on the curve closest to inPoint, then copies that point to outPoint; optionally calculates related items. | |
QueryTangent | Constructs a line tangent to a curve from a point at a specified distance along the curve. | |
QueryToPoint | Copies the curve's 'to' point into the input point. | |
QueryVertexAttributes | Gets the 'from' and the 'to' attribute values. | |
QueryWKSEnvelope | Queries the WKS Envelope. | |
QueryWKSFromPoint | Query the WKSPoint at the 'from' point. | |
QueryWKSToPoint | Query the WKSPoint at the 'to' point. | |
ReturnTurnDirection | Finds turn direction between two connected segments. | |
ReverseOrientation | Reverses the parameterization of the curve ('from' point becomes 'to' point, first segment becomes last segment, etc). | |
SetEmpty | Removes all points from this geometry. | |
SnapToSpatialReference | Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system. | |
SpatialReference | The spatial reference associated with this geometry. | |
SplitAtDistance | Split segment at specified distance. | |
SplitAtVertexAttribute | Splits the segment in two segments at the location corresponding to the attribute value. | |
SplitDivideLength | Divide segment into smaller segments of the specified length. | |
SynchronizeEmptyAttributes | Synchronize Empty Attributes. | |
ToPoint | The 'to' point of the curve. | |
VertexAttributeAware | Indicates if the segment is aware of the specified attribute type. | |
VertexAttributeOn | Indicates if attributeValue is located on this segment. |
ISegment.ConvertDistanceMeasureToRatio Method
Converts the distance measure to a ratio of the total distance.
Public Sub ConvertDistanceMeasureToRatio ( _
ByVal distanceMeasure As Double, _
ByRef distanceRatio As Double _
)
public void ConvertDistanceMeasureToRatio (
double distanceMeasure,
ref double distanceRatio
);
ISegment.Densify Method
Densify segment into the specified number of smaller segments. This method is intended for internal use only.
Public Sub Densify ( _
ByVal cInSlots As Integer, _
ByVal maxDeviation As Double, _
ByRef pcOutSegments As Integer, _
ByRef segments As ILine _
)
public void Densify (
int cInSlots,
double maxDeviation,
ref int pcOutSegments,
ref ILine segments
);
Remarks
Densifying individual segments can be accomplished in client code by add the segment to a temporary polyline, then densifying the polyline using one of the methods on IPolycurve. Alternatively, the IGeometryBridge interface on the GeometryEnvironment object can be used.
When using C# you must use the IGeometryBridge interface to call this method.
When using VBNET you must use the IGeometryBridge interface to call this method.
ISegment.EnvelopeIntersection Method
Finds intersections with clipping envelope; boundaryOverlap is ignored for non-linear segments.
Public Sub EnvelopeIntersection ( _
ByVal intersectionEnvelope As IEnvelope, _
ByVal boundaryOverlap As Boolean, _
ByRef segmentParams As Double, _
ByRef envelopeDistances As Double, _
ByRef numIntersections As Integer, _
ByRef outcode As Integer _
)
public void EnvelopeIntersection (
IEnvelope intersectionEnvelope,
bool boundaryOverlap,
ref double segmentParams,
ref double envelopeDistances,
ref int numIntersections,
ref int outcode
);
ISegment.GeographicShift Method
Shift longitudes to the right of splitLongitude. This method is obsolete.
Public Sub GeographicShift ( _
ByVal splitLongitude As Double _
)
public void GeographicShift (
double splitLongitude
);
ISegment.GetDistanceAtVertexAttribute Method
Gets the distance corresponding to the attribute value along the segment.
Public Function GetDistanceAtVertexAttribute ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal attributeValue As Double, _
ByVal asRatio As Boolean _
) As Double
public double GetDistanceAtVertexAttribute (
esriGeometryAttributes attributeType,
double attributeValue,
bool asRatio
);
ISegment.GetPointsAtVertexAttribute Method
Gets the point at the location corresponding to the attribute value.
Public Sub GetPointsAtVertexAttribute ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal attributeValue As Double, _
ByVal lateralOffset As Double, _
ByRef outPoints As IPointCollection _
)
public void GetPointsAtVertexAttribute (
esriGeometryAttributes attributeType,
double attributeValue,
double lateralOffset,
ref IPointCollection outPoints
);
ISegment.GetSubSegmentBetweenVertexAttributes Method
Gets the segment corresponding to the extent along the segment between the 'from' and 'to' attribute values.
Public Sub GetSubSegmentBetweenVertexAttributes ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal fromAttribute As Double, _
ByVal toAttribute As Double, _
ByRef outSegment As ISegment _
)
public void GetSubSegmentBetweenVertexAttributes (
esriGeometryAttributes attributeType,
double fromAttribute,
double toAttribute,
ref ISegment outSegment
);
ISegment.GetVertexAttributeAtDistance Method
Gets the attribute value corresponding to the distance along the segment.
Public Function GetVertexAttributeAtDistance ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal distance As Double, _
ByVal asRatio As Boolean _
) As Double
public double GetVertexAttributeAtDistance (
esriGeometryAttributes attributeType,
double distance,
bool asRatio
);
ISegment.HasVertexAttributes Method
Returns two booleans telling if the segment as from attribute and to attribute values.
Public Sub HasVertexAttributes ( _
ByVal attributeType As esriGeometryAttributes, _
ByRef hasFromAttribute As Boolean, _
ByRef hasToAttribute As Boolean _
)
public void HasVertexAttributes (
esriGeometryAttributes attributeType,
ref bool hasFromAttribute,
ref bool hasToAttribute
);
ISegment.HorizontalIntersectionCount Method
Returns the number of horizontal intersections.
Public Function HorizontalIntersectionCount ( _
ByRef p As WKSPoint, _
ByRef pointOnLine As Boolean _
) As Integer
public int HorizontalIntersectionCount (
ref WKSPoint p,
ref bool pointOnLine
);
ISegment.InterpolateVertexAttributes Method
Interpolates Z and M values at distanceAlongSegment and stores the results at point.
Public Sub InterpolateVertexAttributes ( _
ByVal distanceAlongSegment As Double, _
ByVal asRatio As Boolean, _
ByVal atPoint As IPoint _
)
public void InterpolateVertexAttributes (
double distanceAlongSegment,
bool asRatio,
IPoint atPoint
);
ISegment.MaxDistanceFromLine Method
Returns the maximum distance from the line.
Public Sub MaxDistanceFromLine ( _
ByRef baseFrom As WKSPoint, _
ByRef baseTo As WKSPoint, _
ByVal minOffset As Double, _
ByVal fromArcDistance As Double, _
ByVal toArcDistance As Double, _
ByRef maxOffset As Double, _
ByRef atArcDistance As Double, _
ByRef farPoint As WKSPoint _
)
public void MaxDistanceFromLine (
ref WKSPoint baseFrom,
ref WKSPoint baseTo,
ref double minOffset,
ref double fromArcDistance,
ref double toArcDistance,
ref double maxOffset,
ref double atArcDistance,
ref WKSPoint farPoint
);
ISegment.PutAttributes Method
Sets some attributes from this point and copies them to another point. Awareness is not considered.
Public Sub PutAttributes ( _
ByVal PutAttributes As Boolean, _
ByVal putAwareness As Boolean, _
ByRef from As esriPointAttributes, _
ByRef to As esriPointAttributes _
)
public void PutAttributes (
bool PutAttributes,
bool putAwareness,
ref esriPointAttributes from,
ref esriPointAttributes to
);
ISegment.PutVertexAttributes Method
Sets the 'from' and the 'to' attribute values.
Public Sub PutVertexAttributes ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal fromAttribute As Double, _
ByVal toAttribute As Double _
)
public void PutVertexAttributes (
esriGeometryAttributes attributeType,
double fromAttribute,
double toAttribute
);
ISegment.QueryAreaCorrection Method
Queries the area correction value.
Public Sub QueryAreaCorrection ( _
ByRef areaCorrection As Double _
)
public void QueryAreaCorrection (
ref double areaCorrection
);
ISegment.QueryAttributes Method
Gets some attributes from this point and copies them to another point. Awareness is not considered.
Public Sub QueryAttributes ( _
ByVal getAttributes As Boolean, _
ByVal getAwareness As Boolean, _
ByRef from As esriPointAttributes, _
ByRef to As esriPointAttributes _
)
public void QueryAttributes (
bool getAttributes,
bool getAwareness,
ref esriPointAttributes from,
ref esriPointAttributes to
);
ISegment.QueryCentroidCorrection Method
Queries the centroid correction value.
Public Sub QueryCentroidCorrection ( _
ByRef weightedCentroidX As Double, _
ByRef weightedCentroidY As Double, _
ByRef areaCorrection As Double _
)
public void QueryCentroidCorrection (
ref double weightedCentroidX,
ref double weightedCentroidY,
ref double areaCorrection
);
ISegment.QueryCurvature Method
Finds curvature and unit vector starting at point on segment and directed to embedded circle center.
Public Sub QueryCurvature ( _
ByVal DistanceAlongCurve As Double, _
ByVal asRatio As Boolean, _
ByRef curvature As Double, _
ByVal unitVector As ILine _
)
public void QueryCurvature (
double DistanceAlongCurve,
bool asRatio,
ref double curvature,
ref ILine unitVector
);
Description
Returns the curvature at a specified distance along the segment. The distance can be given explicitly or as a ratio of the entire length of the segment. The curvature is returned as a Line representing a directional unit vector (in the direction going from the From Point to the To Point) and a double representing the magnitude of the vector of curvature.
Remarks
The unit vector returned by QueryCurvature points toward the center of the circle that has the same first and second derivative at the queried point with a curvature value equal to 1 / Radius of that circle.
ISegment.QueryVertexAttributes Method
Gets the 'from' and the 'to' attribute values.
Public Sub QueryVertexAttributes ( _
ByVal attributeType As esriGeometryAttributes, _
ByRef fromAttribute As Double, _
ByRef toAttribute As Double _
)
public void QueryVertexAttributes (
esriGeometryAttributes attributeType,
ref double fromAttribute,
ref double toAttribute
);
ISegment.QueryWKSEnvelope Method
Queries the WKS Envelope.
Public Sub QueryWKSEnvelope ( _
ByRef Envelope As WKSEnvelope _
)
public void QueryWKSEnvelope (
ref WKSEnvelope Envelope
);
ISegment.QueryWKSFromPoint Method
Query the WKSPoint at the 'from' point.
Public Sub QueryWKSFromPoint ( _
ByRef p As WKSPoint _
)
public void QueryWKSFromPoint (
ref WKSPoint p
);
ISegment.QueryWKSToPoint Method
Query the WKSPoint at the 'to' point.
Public Sub QueryWKSToPoint ( _
ByRef p As WKSPoint _
)
public void QueryWKSToPoint (
ref WKSPoint p
);
ISegment.ReturnTurnDirection Method
Finds turn direction between two connected segments.
Public Function ReturnTurnDirection ( _
ByVal otherSegment As ISegment _
) As Integer
public int ReturnTurnDirection (
ISegment otherSegment
);
Description
Returns the Turn Direction of the Segment immediately following the current Segment. The two segments must be connected between the To Point of the first segment and the From Point of the second segment. ReturnTurnDirection returns a long corresponding to an esriTurnDirectionEnum or a combination of esriNoTurn or esriUTurn and esriRightTurn or esriLeftTurn. If the two segments are tangential at the point of connection and not completely colinear, then a combination of esriTurnDirectionEnums are returned.
Remarks
ReturnTurnDirection is only available for Lines and CircularArcs, not BezierCurves or EllipticArcs.
ISegment.SplitAtDistance Method
Split segment at specified distance.
Public Sub SplitAtDistance ( _
ByVal distances As Double, _
ByVal asRatio As Boolean, _
ByRef fromSegment As ISegment, _
ByRef toSegment As ISegment _
)
public void SplitAtDistance (
double distances,
bool asRatio,
ref ISegment fromSegment,
ref ISegment toSegment
);
Description
Splits the input Segment at the given distance and returns the Segment between the original From Point and the split point as well as the Segment between the split point and the original To Point. The split distance may be specified as a ratio of the total distance if AsRatio = TRUE, otherwise the distance is in the same units as the Length of the Segment.
Remarks
ISegment.SplitAtVertexAttribute Method
Splits the segment in two segments at the location corresponding to the attribute value.
Public Sub SplitAtVertexAttribute ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal attributeValue As Double, _
ByRef fromSegment As ISegment, _
ByRef toSegment As ISegment _
)
public void SplitAtVertexAttribute (
esriGeometryAttributes attributeType,
double attributeValue,
ref ISegment fromSegment,
ref ISegment toSegment
);
ISegment.SplitDivideLength Method
Divide segment into smaller segments of the specified length.
Public Sub SplitDivideLength ( _
ByVal Offset As Double, _
ByVal Length As Double, _
ByVal asRatio As Boolean, _
ByRef numSplitSegments As Integer, _
ByRef splitSegments As ISegment _
)
public void SplitDivideLength (
double Offset,
double Length,
bool asRatio,
ref int numSplitSegments,
ref ISegment splitSegments
);
Description
Outputs an array of Segments of a desired input length starting at an offset distance along the curve and continuing until the end of the Segment is reached. The offset and length may be specified as a ratio of the total length of the Segment. SplitDivideLength outputs an array of Segments and the number of Segments in that array. All of the output Segments in the array have the desired input length with the exception of the final Segment which has a length less than or equal to the input length (the remainder of the Segment).
Remarks
When using C# you must use the IGeometryBridge interface to call this method.
When using VBNET you must use the IGeometryBridge interface to call this method.
ISegment.SynchronizeEmptyAttributes Method
Synchronize Empty Attributes.
Public Sub SynchronizeEmptyAttributes ( _
ByVal toSegment As ISegment _
)
public void SynchronizeEmptyAttributes (
ISegment toSegment
);
ISegment.VertexAttributeAware Property
Indicates if the segment is aware of the specified attribute type.
Public Function get_VertexAttributeAware ( _
ByVal attributeType As esriGeometryAttributes _
) As Boolean
Public Sub set_VertexAttributeAware ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal attributeAware As Boolean _
)
public bool get_VertexAttributeAware (
esriGeometryAttributes attributeType
);
public void set_VertexAttributeAware (
esriGeometryAttributes attributeType,
bool attributeAware
);
ISegment.VertexAttributeOn Method
Indicates if attributeValue is located on this segment.
Public Function VertexAttributeOn ( _
ByVal attributeType As esriGeometryAttributes, _
ByVal attributeValue As Double _
) As Integer
public int VertexAttributeOn (
esriGeometryAttributes attributeType,
double attributeValue
);
Inherited Interfaces
Interfaces | Description |
---|---|
ICurve | Provides access to properties and methods of all 1 dimensional curves (polylines, segments, boundaries of polygons, etc.). |
IGeometry | Provides access to members that describe properties and behavior of all geometric objects. |
Classes that implement ISegment
Classes | Description |
---|---|
BezierCurve | A cubic Bezier curve defined between two points; optionally has measure, height and ID attributes at each endpoint. |
CircularArc | A portion of a circle that connects two points optionally has measure, height and ID attributes at each endpoint. |
EllipticArc | A portion of the boundary of a 2D ellipse that connects two points; optionally has measure, height and ID attributes at each endpoint. |
Line | A 2D straight line between a pair of 2D endpoints; can optionally have height, measure and ID attributes at each endpoint. |