Copies some points to an existing array of points.
[Visual Basic .NET] Public Sub QueryPoints ( _ ByVal pPointCollection As IPointCollection4, _ ByVal Index As Integer, _ ByRef Points As IPoint[] _ )
[C#] public void QueryPoints ( IPointCollection4 pPointCollection, int Index, ref IPoint[] Points );
[C++]
HRESULT QueryPoints(
IPointCollection4* pPointCollection,
long Index,
Array* Points
);
[C++]Parameters
pPointCollection [in]pPointCollection is a parameter of type IPointCollection4
Index Index is a parameter of type long Points [in, out] Points is a parameter of type Array
Product Availability
Description
All development languages compatible version of IPointCollection::QueryPoints.
When calling this method no count parameter is needed. The length of the array parameter will be used in place of the explicit number given in the IPointCollection::QueryPoints call. This also requires that the array parameter given to IGeometryBridge::QueryPoints can not be longer than the length of the PointCollection minus the index parameter.
public void QueryPoints()
{
//prepare inputPoints
IPoint point1 = new PointClass();
point1.PutCoords(10, 10);
IPoint point2 = new PointClass();
point2.PutCoords(20, 20);
IPoint[] inputPointArray = new IPoint[2];
inputPointArray[0] = point1;
inputPointArray[1] = point2;
IPointCollection4 pointCollection = new MultipointClass();
//add points to pointCollection
IGeometryBridge geometryBridge = new GeometryEnvironmentClass();
geometryBridge.AddPoints(pointCollection, ref inputPointArray);
//query Points
int index = 0;
IPoint[] outputPointArray = new IPoint[inputPointArray.Length - index];
for (int i = 0; i < outputPointArray.Length; i++)
{
outputPointArray[i] = new PointClass();
}
geometryBridge.QueryPoints(pointCollection, index, ref outputPointArray);
for (int i = 0; i < outputPointArray.Length; i++)
{
IPoint currentPoint = outputPointArray[i];
if (currentPoint == null)
{
System.Windows.Forms.MessageBox.Show("Current point = null");
}
else
{
System.Windows.Forms.MessageBox.Show("X = " + currentPoint.X + ", Y = " + currentPoint.Y);
}
}
}