Provides access to members that identify a polygon and permit controlled access to its inner and outer rings.
**Note:** the IPolygon interface has been superseded byIPolygon4. Please consider using the more recent version.

#### Product Availability

#### Description

A polygon is a collection of one or many exterior and interior rings. The rings do not need to be connected to or contained by other rings in the polygon. However, all rings are considered to be part of a single polygon regardless of their location. Rings can be embedded in the interior of other rings. Embedded rings define interior boundaries or holes within the polygon. Exterior rings are oriented in a clockwise direction while interior rings are oriented counterclockwise.

#### Members

Description |
||
---|---|---|

Close | Closes all rings in this polygon. The resulting polygon may not be simple. | |

Densify | Converts this polycurve into a piecewise linear approximation of itself. | |

Dimension | The topological dimension of this geometry. | |

Envelope | Creates a copy of this geometry's envelope and returns it. | |

ExteriorRingCount | The number of exterior rings. | |

FindExteriorRing | Returns the exterior ring containing the specified interior ring. | |

FromPoint | The 'from' point of the curve. | |

Generalize | Generalizes this polycurve using the Douglas-Poiker algorithm. | |

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. | |

GetSubcurve | Extracts a portion of this curve into a new curve. | |

InteriorRingCount | The number of rings interior to the specified exterior ring. | |

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. | |

Project | Projects this geometry into a new spatial reference. | |

QueryEnvelope | Copies this geometry's envelope properties into the specified envelope. | |

QueryExteriorRings | Populates an array with references to all exterior rings. This method does not marshall correctly out-of-proc. Use QueryExteriorRingsEx on the IPolygon2 interface instead. | |

QueryFromPoint | Copies this curve's 'from' point to the input point. | |

QueryInteriorRings | Populates an array with references to rings that are interior to the specified exterior ring. This method does not marshall correctly out-of-proc. Use QueryInteriorRingsEx on the IPolygon2 interface instead. | |

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. | |

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. | |

SimplifyPreserveFromTo | Simplifies the polygon and maintains the index location of the from/to point of each ring. | |

Smooth | Converts this curve into a smooth curve containing only Bezier curve segments. | |

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 | Introduces a new vertex into this polyline at a specified distance from the beginning of the polyline. | |

SplitAtPoint | Introduces a new vertex into this polyline at the location on it closest to the input point. | |

ToPoint | The 'to' point of the curve. | |

Weed | Generalizes using a small tolerance based upon either the system units of the geometry's spatial reference, or the geometry's bounding box. |

#### Inherited Interfaces

Interfaces | Description |
---|---|

IPolycurve | Provides access to members that define operations common to polylines and the boundaries of polygons. |

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. |

#### CoClasses that implement IPolygon

CoClasses and Classes | Description |
---|---|

GeoEllipse (esriDefenseSolutions) | Its a spheroidal ellipse. |

GeoPolygon (esriDefenseSolutions) | Its a spheroidal polygon. |

Polygon | A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes. |

#### Remarks

To define a polygon containing many disjoint rings, the polygon must be defined as a GeometryCollection to which preconstructed ring geometries are added. Adding segments to a polygon defined as a SegmentCollection, or points to a polygon defined as a PointCollection, assumes that the polygon is a **single ring** of connected segments.

IPolygon2 extends the functionality of IPolygon.

#### See Also

IGeometry Interface | IRing Interface | IPolycurve Interface | ISegmentCollection Interface | IGeometryCollection Interface | IPointCollection Interface