Constructs the intersection of this geometry and the specified envelope.
[Visual Basic 6.0] Sub Clip(
ByVal clipperEnvelope As IEnvelope _
)
[Visual Basic .NET] Public Sub Clip ( _ ByVal clipperEnvelope As IEnvelope _ )
[C#] public void Clip ( IEnvelope clipperEnvelope );
[Java] public void clip ( IEnvelope clipperEnvelope ) throws IOException, AutomationException
[C++] HRESULT Clip( IEnvelope* clipperEnvelope );
The Clip method clips the geometry of the feature that is receiving the method call. The Clip method does not return an envelope. The geometry that is clipped will depend on what is Contained by the input clipperEnvelope.
Use QueryClipped or QueryClippedDense methods to send the results to a different polygon.
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.

//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
'How to wrap a line segment into a polyline in VB6
'Assume a line (pLine as ILine) is already created
dim psc as ISegmentCollection
set psc = New Polyline
psc.addsegment pline
'Set the spatial reference on the new polyline
'The spatial reference is not transfered automatically from the segments
dim pgeo as IGeometry
set pgeo = psc
set pgeo.SpatialReference = pMyspatialReference
'Can now be used with ITopologicalOperator methods