ArcObjects Library Reference (Geometry)  

IPointCollection Interface

Provides access to members that manipulate the points of a Multipoint, Path, Ring, Polyline, Polygon, TriangleFan, TriangleStrip, or MultiPatch. Note: the IPointCollection interface has been superseded byIPointCollection5. Please consider using the more recent version.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Description

Used to access and manipulate the Points in Multipoints, Paths, Rings, Polylines, Polygons, Triangles, TriangleFans, TriangleStrips, and MultiPatches.  IPointCollection can be used to create Multipoints, Triangles, TriangleFans, TriangleStrips, Line-based Paths, Line-based Rings, single-path Line-based Polylines, and single-ring Line-based Polygons.  Multipoints, Triangles, TriangleFans, and TriangleStrips return references to the points in the collection.  All other geometries return copies of points instead of direct references.  PointCollections can be used to get, count, add, insert, query, remove, replace, set, and update the Points in a geometry.  Depending on the method, Points can be manipulated as a single Point, an array of Points, or a collection of Points.

 

If you are using Java or a .NET enabled language, such as VB.NET, you may want to use the alternative versions of IPointCollection methods exposed by the IGeometryBridge and IGeometryBridge2 interfaces.

Members

Description
Method AddPoint Adds a vertex to a Path, Ring, Polyline, or Polygon; or adds a reference to the input point to a Multipoint, TriangleFan, or TriangleStrip.
Method AddPointCollection Adds copies of points in the input point collection to this Path, Ring, Polyline, or Polygon; or adds references to the points in the collection to this Multipoint, TriangleFan, or TriangleStrip.
Method AddPoints Adds copies of the input points as vertices to this Path, Ring, Polyline, or Polygon; or references to the input points to this Multipoint, TriangleFan, or TriangleStrip. This method is intended for internal use only.
Read-only property EnumVertices A new enumerator for this point collection.
Method InsertPointCollection Inserts copies of points, from the input point collection, as vertices into this Path, Ring, Polyline, or Polygon; or references to points in the input point collection into this Multipoint, TriangleFan, or TriangleStrip.
Method InsertPoints Inserts copies of the input points as vertices into a Path, Ring, Polyline, or Polygon; or references to the input points into a Multipoint, TriangleFan, or TriangleStrip. This method is intended for internal use only.
Read-only property Point A copy of the ith vertex of a Path, Ring, Polyline, or Polygon; or a reference to the ith point of a Multipoint, TriangleFan, or TriangleStrip.
Read-only property PointCount The number of points in the collection.
Method QueryPoint Queries for a point in the PointCollection at given index.
Method QueryPoints Copies some points to an existing array of points. This method is intended for internal use only.
Method RemovePoints Removes vertices from a Path, Ring, Polyline, or Polygon, or references to points from a Multipoint, TriangleFan, or TriangleStrip.
Method ReplacePointCollection Replaces vertices/points within a PointCollection.
Method ReplacePoints Replaces vertices/points within a PointCollection.
Method SetPointCollection Replaces all vertices of this Path, Ring, Polyline, or Polygon with copies of the points in the input collection; or all points of this Multipoint, TriangleFan, or TriangleStrip with references to points from the input collection.
Method SetPoints Replaces all existing vertices of this Path, Ring, Polyline, or Polygon with copies of the input points; or all existing points of this Multipoint, TriangleFan, or TriangleStrip with references to the input points (for C++ and VB users only).
Method UpdatePoint Changes the ith vertex or point to be a copy of the input point.

CoClasses that implement IPointCollection

CoClasses and Classes Description
GeoEllipse (esriDefenseSolutions) Its a spheroidal ellipse.
GeoPolygon (esriDefenseSolutions) Its a spheroidal polygon.
GeoPolyline (esriDefenseSolutions) This is a spheroidal polyline.
MultiPatch A collection of surface patches.
Multipoint An ordered collection of points; optionally has measure, height and ID attributes.
Path A sequence of connected segments.
Polygon A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.
Polyline An ordered collection of paths; optionally has measure, height and ID attributes.
Ring An area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex.
TriangleFan A continuous 3D fan of triangles, where each triangle after the first shares an edge with the preceding triangle, and all triangles share a common pivot point.
Triangles A collection of 3D triangles, where each consecutive triplet of vertices defines a new triangle
TriangleStrip A continuous 3D strip of triangles, where each triangle after the first shares an edge with the preceding triangle.

See Also

IPoint Interface | ISegmentCollection Interface | IGeometryCollection Interface | IPointCollection Interface

.NET Snippets

Transform Point

.NET Samples

3D multipatch examples (Code Files: CompositeExamples DrawUtilities ExtrusionExamples GeometryUtilities RingExamples RingGroupExamples TriangleFanExamples TrianglesExamples TriangleStripExamples Vector3DExamples) | Custom reshape polyline edit task (Code Files: ReshapePolylineEditTask) | ViperPin tool (Code Files: ViperPinForm) | Tabbed feature inspector (Code Files: TabbedInspector) | Create a custom raster type from the ground up for DMCII data (Code Files: DMCIIRasterType) | Implementing an XML builder external component (Code Files: XMLDocImpl) | Custom vertex editing commands (Code Files: CustomVertexCommands) | Move a graphic along a path in ArcMap (Code Files: AnimationUtils MapGraphicKeyframe) | Creating a toolbar of globe tools (Code Files: PolygonGeometry PolylineGeometry) | StreetMap routing (Code Files: RoutingForm) | Triangle graphic element (Code Files: TriangleElementClass) | Reducing schematic nodes and computing a cumulative attribute via a schematic rule (Code Files: NodeReductionRule) | Draw text on a MapControl (Code Files: DrawText) | Tabbed feature inspector (Code Files: ObjectInspector)

.NET Related Topics

Creating custom symbols | DataSourcesRaster | Geometry service | How to create a multipoint | How to create a multipoint object from the vertices of a polyline | How to create a multipoint using the ConstructIntersectionEx method | How to create a sketch operation | How to create an AdjustXform for georeferencing images | How to georeference a raster using polynomial transformation | How to interpolate spot heights and profile lines on a TIN | How to use the IEnumVertex methods | Server | Transforming envelopes in the display