This document is archived and information here might be outdated. Recommended version. |
The dirty area polygon of the topology.
[Visual Basic .NET] Public Function get_DirtyArea ( _ ByVal Location As IPolygon _ ) As IPolygon
[C#] public IPolygon get_DirtyArea ( IPolygon Location );
[C++]
HRESULT get_DirtyArea(
IPolygon* Location,
IPolygon** dirtyAreaPolygon
);
[C++] Parameters Location [in]
Location is a parameter of type IPolygon* dirtyAreaPolygon [out, retval]
dirtyAreaPolygon is a parameter of type IPolygon**
The DirtyArea property returns a dirty area polygon of the topology associated with the input IPolygon object. The IPolygon can correspond to the extent of the topology or a subset of the extent. If there is no dirty area intersecting the specified area, an empty polygon is returned. The dirty area polygon that is returned may be a multipart polygon. Use the State property on ITopology to determine if the Topology has any dirty areas or if it has been validated.
A topology has an associated dirty area or dirty areas. A dirty area corresponds to regions within the extent of the topology where features participating within the topology have been modified (added, deleted or updated) and have yet to be validated. The topological relationships between features covered by dirty areas are unknown. The dirty area must be validated inorder to discover the topological relationships and evaluate any topology rules.
Whenever the geometry or subtype of a feature participating within a topology is modified, the extent of the dirty area is enlarged to encompass the envelope of the modified feature.
The following example demonstrates how to obtain the DirtyArea for the entire Topology.
// Assume we have a reference to a Topology called topology and Cast to IGeodataset
IGeoDataset geoDataset = (IGeoDataset)topology;
// Create a new polygon object
ESRI.ArcGIS.Geometry.ISegmentCollection location = (ESRI.ArcGIS.Geometry.ISegmentCollection)new ESRI.ArcGIS.Geometry.PolygonClass();
// Set the rectangle of the pLocation polygon to be equal to the Topology extent
location.SetRectangle(geoDataset.Extent);
ESRI.ArcGIS.Geometry.IPolygon locationPolygon = (ESRI.ArcGIS.Geometry.IPolygon)location;
// Get the Dirty Area that covers the entire topology.
IPolygon polygon = topology.get_DirtyArea(locationPolygon);