com.esri.arcgis.geodatabase
Interface IFeatureEdit

All Superinterfaces:
IRowEdit, Serializable
All Known Subinterfaces:
IFeatureEdit2
All Known Implementing Classes:
AnnotationFeature, ComplexEdgeFeature, ComplexJunctionFeature, CoverageAnnotationFeature, DimensionFeature, Feature, GeocodedFeature, IFeatureEdit2Proxy, IFeatureEditProxy, NALocationFeature, NALocationRangesFeature, NATraversalResultElement, RasterCatalogItem, SchematicInMemoryFeatureLink, SchematicInMemoryFeatureNode, SchematicInMemoryFeatureNodeOnLink, SchematicInMemoryFeatureSubLink, SchematicLink, SchematicNode, SchematicNodeOnLink, SchematicSubLink, SimpleEdgeFeature, SimpleJunctionFeature, TopologyErrorFeature

public interface IFeatureEdit
extends IRowEdit, Serializable

Provides access to members implemented to customize feature editing.

Superseded By

IFeatureEdit2

Remarks

The IFeatureEdit interface offers specialized editing facilities on features.

The MoveSet, RotateSet, and DeleteSet methods are unusual in that they are applied to a single feature, but they operate on a whole set. There is no need to call these methods for each separate feature in the set.

In the case of simple features, you need to call this method once for every feature class contained in the set. Thus, if the selection contains ten simple features, five from class A, and five from class B, you will need to call this method on one member of the set from class A, and one member of the set from class B. When you call these methods on a feature, the method will be applied to all other features contained in the set that are also in the same feature class.

In the case of network features, it is only necessary to call these methods on one network feature found in a given geometric network. Thus, if all of the network features found in the set are contained in a single geometric network, you will only need to call these methods on one network feature. However, if there are two (or more) geometric networks represented in the network features contained in the set, then the call will need to be made two (or more) times; once for each geometric network.

In practice, it is actually quite simple to implement the appropriate calling behavior because the set that is passed in as the first argument is winnowed (that is, features contained in the set that are processed are removed from the set) and the set is automatically reset. Thus, you can effectively Next through the set and achieve the proper behavior. See the first example for an illustation of this behavior.

Split and SplitAttributes operate on single features. Split will divide polylines by points, or polygons by polylines. Other kinds of split geometries are not supported. The new features are automatically stored and the old feature deleted. SplitAttributes implements the split policy for attributes belonging to domains. It is not necessary to call SplitAttributes after using Split, this is done automatically.

An equivalent method to Split for merging features is not currently available in ArcObjects; you have to program it the long way, using ITopologicalOperator::Union, IFeature::Delete, and, if necessary, IDomain::MergePolicy.

Product Availability

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


Method Summary
 IDisplayFeedback beginMoveSet(ISet features, IPoint start)
          Prepares the set of features for a move operation.
 void moveSet(ISet features, ILine moveVector)
          Moves the set of features through a distance and direction specified by moveVector.
 void rotateSet(ISet features, IPoint origin, double angle)
          Rotates the set of features according to the specified origin and angle.
 ISet split(IGeometry point)
          Split the feature.
 void splitAttributes(IFeature baseFeature)
          Split the feature attributes.
 
Methods inherited from interface com.esri.arcgis.geodatabase.IRowEdit
deleteSet
 

Method Detail

beginMoveSet

IDisplayFeedback beginMoveSet(ISet features,
                              IPoint start)
                              throws IOException,
                                     AutomationException
Prepares the set of features for a move operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
start - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.display.IDisplayFeedback
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveSet

void moveSet(ISet features,
             ILine moveVector)
             throws IOException,
                    AutomationException
Moves the set of features through a distance and direction specified by moveVector.

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
moveVector - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotateSet

void rotateSet(ISet features,
               IPoint origin,
               double angle)
               throws IOException,
                      AutomationException
Rotates the set of features according to the specified origin and angle.

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

split

ISet split(IGeometry point)
           throws IOException,
                  AutomationException
Split the feature.

Remarks

Split divides polylines by points or polygons by polylines, other kinds of split geometries are not supported (see IGeometry::GeometryType property for an enumeration of geometry types). The new features are automatically stored and the old features deleted. When a feature is split, the feature is deleted and two new features are created. The ObjectID of the deleted feature is not reused, the two new features will have new ObjectID values. You can define a policy on how the other attribute values of the new features are populated; this can be done with ArcCatalog or by using the Domain and Attribute Rule objects.

It is not necessary to call SplitAttributes after calling Split, this is done automatically.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
point - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitAttributes

void splitAttributes(IFeature baseFeature)
                     throws IOException,
                            AutomationException
Split the feature attributes.

Remarks

This method is intended for internal use only.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
baseFeature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.