Gets a copy of the Point at the specified index of a Polygon. If called on a multipart Polygon, gets the Point at the specified index of the first ring.

Namespace:  ESRI.ArcGISExplorer.Geometry

Assembly:  ESRI.ArcGISExplorer (in ESRI.ArcGISExplorer.dll) Version: 2.0.0.1500 (2.0.0.1500)

Syntax

C#
public Point GetPoint(
	int pointIndex
)
Visual Basic (Declaration)
Public Function GetPoint ( _
	pointIndex As Integer _
) As Point

Parameters

pointIndex
Type: System..::.Int32

The index of the Point to get.

Return Value

A copy of the Point at the specified position.

Remarks

GetPoint returns a copy of the Point at a specific pointIndex position within the Polygon. Polygons are created and edited by-value, therefore there is no way to get a direct reference to the same Point that exists inside the Polygon; to change one of the points in a Polygon, use the [O:ESRI.ArcGISExplorer.Geometry.Polygon.SetPoint] method.

If the Polygon has multiple parts (RingCount is greater than 1), then the Point is always retrieved from the first ring in the Polygon; if working with multipart polygons, see the GetPoint(Int32, Int32) overload in which a ring index can be specified in addition to a pointIndex.

The GetRing(Int32) and GetRings()()() methods can be used to return multiple points in one method call.

Examples

The code below demonstrates the creation of a simple Polygon using the AddPoint and Close methods. The individual points in the Polygon are also retrieved using the GetPoint method and this information is used to add a Note with popup information to the current map in the application.
CopyC#
// Create a new Polygon, allowing the default CoordinateSystem of WGS84.
Polygon poly = new Polygon();

// Add a series of points to the Polygon (overloads are available to add multiple Points.
poly.AddPoint(new ESRI.ArcGISExplorer.Geometry.Point(2.33434596343321, 48.8628885302916));
poly.AddPoint(new ESRI.ArcGISExplorer.Geometry.Point(2.33269733037166, 48.8603451299656));
poly.AddPoint(new ESRI.ArcGISExplorer.Geometry.Point(2.33659764618658, 48.8594678571346));
poly.AddPoint(new ESRI.ArcGISExplorer.Geometry.Point(2.33960511237599, 48.8591968205275));
poly.AddPoint(new ESRI.ArcGISExplorer.Geometry.Point(2.340578062027, 48.8608773611669));
// Ensure the Polygon is a closed shape.
poly.Close();

// Create a Note using the polygon shape.
Note louvre = new Note("The Louvre", poly, Symbol.Fill.SolidOutline.Green);

// Populate the Note popup information using information about the Polygon.
StringBuilder info = new StringBuilder(@"<p><a href=""http://www.louvre.fr"">The Louvre, Paris</a></p>");
for (int i = 0; i < poly.PointCount(); i++)
{
    ESRI.ArcGISExplorer.Geometry.Point pt = poly.GetPoint(i);
    info.AppendLine(@"<p>" + i.ToString() + ": " + pt.ToString() + @"</p>");
}

MapDisplay disp = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay;
louvre.Popup.Content = info.ToString();

// Add the Note to the current Map.
disp.Map.ChildItems.Add(louvre);
CopyVB.NET
' Create a new Polygon, allowing the default CoordinateSystem of WGS84.
Dim poly As Polygon = New Polygon()

' Add a series of points to the Polygon (overloads are available to add multiple Points.
poly.AddPoint(New ESRI.ArcGISExplorer.Geometry.Point(2.33434596343321, 48.8628885302916))
poly.AddPoint(New ESRI.ArcGISExplorer.Geometry.Point(2.33269733037166, 48.8603451299656))
poly.AddPoint(New ESRI.ArcGISExplorer.Geometry.Point(2.33659764618658, 48.8594678571346))
poly.AddPoint(New ESRI.ArcGISExplorer.Geometry.Point(2.33960511237599, 48.8591968205275))
poly.AddPoint(New ESRI.ArcGISExplorer.Geometry.Point(2.340578062027, 48.8608773611669))
' Ensure the Polygon is a closed shape.
poly.Close()

' Create a Note using the polygon shape.
Dim louvre As Note = New Note("The Louvre", poly, Symbol.Fill.SolidOutline.Green)

' Populate the Note popup information using information about the Polygon.
Dim info As StringBuilder = New StringBuilder("<p><a href=""http://www.louvre.fr"">The Louvre, Paris</a></p>")
For i As Integer = 0 To poly.PointCount() - 1
    Dim pt As ESRI.ArcGISExplorer.Geometry.Point = poly.GetPoint(i)
    info.AppendLine("<p>" & i.ToString() & ": " & pt.ToString() & "</p>")
Next

Dim disp As MapDisplay = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay
louvre.Popup.Content = info.ToString()

' Add the Note to the current Map.
disp.Map.ChildItems.Add(louvre)

Exceptions

ExceptionCondition
System..::.ArgumentOutOfRangeExceptionThe specified pointIndex must exist in the Polygon.
System..::.InvalidOperationExceptionAn empty Polygon cannot return a Point.

See Also