private void ClipFeaturesToTile(ref IFeatureCursor featureCursor, ref IRecordSet recordset, IEnvelope tileEnvelope)
{
//IFeatureCursor cursor = recordset.get_Cursor(true) as IFeatureCursor;
featureCursor = recordset.get_Cursor(false) as IFeatureCursor;
IFeature feature = featureCursor.NextFeature();
ITopologicalOperator topologicalOperator = null;
while (feature != null)
{
topologicalOperator = feature.Shape as ITopologicalOperator; // modifying shape so don't use ShapeCopy
// TODO: verify clip geometry is retained in recordset ********************************
topologicalOperator.Clip(tileEnvelope);
feature = featureCursor.NextFeature();
}
}