This document is archived and information here might be outdated.  Recommended version.


ITopologicalOperator.Difference Method (ArcObjects .NET 10.4 SDK)
ArcObjects Library Reference (Geometry)  

ITopologicalOperator.Difference Method

Constructs the geometry containing points from this geometry but not the other geometry.

[Visual Basic .NET]
Public Function Difference ( _
    ByVal other As IGeometry _
) As IGeometry
[C#]
public IGeometry Difference (
    IGeometry other
);
[C++]
HRESULT Difference(
  IGeometry* other,
  IGeometry** resultGeom
);
[C++]

Parameters other
other is a parameter of type IGeometry resultGeom [out, retval]
resultGeom is a parameter of type IGeometry

Product Availability

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

Description

Difference create a Geometry that is composed only of the region unique to the base geometry but not part of the input geometry.

Remarks

ITopologicalOperator methods must be applied on high-level geometries only. High-Level geometries are point, multipoint, polyline and polygon. To use this method with low-level geometries such as segments (Line, Circular Arc, Elliptic Arc, Bézier Curve), paths or rings, they must be wrapped into high-level geometries types.

This method does not support GeometryBags.

ITopologicalOperator Differenece Example

[C#]

//The following code shows to wrap a line segment into a polyline in C#

//Assume a line (line1 as ILine) is already created

object obj=Type.Missing;

ISegmentCollection segCollection=new PolylineClass() as ISegmentCollection;

segCollection.AddSegment((ISegment)line1, ref obj, ref obj);

//Set the spatial reference on the new polyline

//The spatial reference is not transfered automatically from the segments

IGeometry geom=segCollection as IGeometry;

geom.SpatialReference=spatialRef;

//Can now be used with ITopologicalOperator methods

 

See Also

ITopologicalOperator Interface