This project has moved and is read-only. For the latest updates, please go here.

Get all points between two vertex of a polyline

Dec 11, 2013 at 6:45 AM
Can some one tell how to Get all points between two vertex of a polyline
Dec 12, 2013 at 8:52 AM
You can use GetControlPointIds().
The returned control point id's are sorted from first vertex to last vertex (all, not only the vertices).
Dec 13, 2013 at 7:10 AM
Thnkx fo Reply
I have a GIS Sftware i need to find lat long at particular interval distance in a polyline(stores only turning points) drawn already .Can u plz suggest this project will help full to achieve this task.
if Yes,

plz tell the way to do .It will be very helpfully.

Dec 16, 2013 at 8:51 AM
Edited Dec 16, 2013 at 8:52 AM
I'm not sure about what expect from me, but here is a small sample of how to process the vertices of a polyline:
int x = [X coordinate (diagram coordinates) where you expect the polyline]
int y = [Y coordinate (diagram coordinates) where you expect the polyline]
float distance = [Search radius]

// Find all shapes that have resize points (vertices) near x/y
// Caution: Shapes may be returned multiple times!
foreach (Shape s in diagram.Shapes.FindShapes(x, y, ControlPointCapabilities.Resize, distance)) {
    // We are only interested in linear shapes...
    if (!(s is ILinearShape)) continue;

    // In case you know that the expected shapes are PolyLines, you can work with PolyLineBase here
    // which gives you access to all methods of the Shape base class *and* the ILinearShape interface.
    // But for this small sample the Shape base class is enough:
    foreach (ControlPointId vertexId in s.GetControlPointIds(ControlPointCapabilities.Resize)) {
        // Get vertex point position in diagram coordinates
        Point vertexPos = s.GetControlPointPosition(vertexId);
        // ...
    // ...