This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IP > IPolygon4 Interface > IPolygon4.SimplifyEx Method (ArcObjects .NET 10.5 SDK) |
Same as ITopologicalOperator::Simplify, but with some additional options that affect performance and how the interior is classified.
[Visual Basic .NET] Public Sub SimplifyEx ( _ ByVal preserveFromToPoints As Boolean, _ ByVal closeRings As Boolean, _ ByVal useXORRule As Boolean _ )
[C#] public void SimplifyEx ( bool preserveFromToPoints, bool closeRings, bool useXORRule );
[C++]
HRESULT SimplifyEx(
VARIANT_BOOL preserveFromToPoints,
VARIANT_BOOL closeRings,
VARIANT_BOOL useXORRule
);
[C++]
Parameters preserveFromToPoints preserveFromToPoints is a parameter of type VARIANT_BOOL closeRings closeRings is a parameter of type VARIANT_BOOL useXORRule useXORRule is a parameter of type VARIANT_BOOL
Parameters:
preserveFromToPoints: Boolean value that determines if the from/to points of a ring in the polygon need to remain located at ring indexes 0 and PointCount-1 af the completion of the operation. Specify 'false' to improve performance of this operation.
closeRings : Boolean value that determines if the rings of the polygon must be closed prior to reconstruct the topology of the polygon. Specify false if you know that rings are closed or you are passing in spaghetti input that should not be checked for closure.
useXORRule: Boolean value that determines how the 'inside' of the polygon is determined. Specify true to use an even-odd counting rule: a point is inside the polygon if a horizontal line through that has encountered an odd number of boundaries to the left (overlapping boundaries count 1 for each overlap). Use this when the input consists of well-defined rings that need to be oriented correctly, have overlaps removed, etc. Specify false to use the default behavior, which iterates over a two step process: dangle removal, then "peeling off" of the largest unambiguous rings. This approach can remove more segments than the XOR-true approach, but is probably more appropriate for spaghetti input where segment overlaps should not be considered significant.
Here is an example of the different between XOR=TRUE vs. XOR= FALSE: