|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.interop.Dispatch com.esri.arcgis.geodatabase.IRowEditProxy com.esri.arcgis.geodatabase.IFeatureEditProxy
public class IFeatureEditProxy
Provides access to members implemented to customize feature editing.
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.
Field Summary | |
---|---|
boolean |
noncastable
|
Fields inherited from class com.esri.arcgis.interop.Dispatch |
---|
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Constructor Summary | |
---|---|
|
IFeatureEditProxy()
|
|
IFeatureEditProxy(Object obj)
|
protected |
IFeatureEditProxy(Object obj,
String iid)
|
Method Summary | |
---|---|
void |
addListener(String iidStr,
Object theListener,
Object theSource)
|
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 |
removeListener(String iidStr,
Object theListener)
|
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 class com.esri.arcgis.geodatabase.IRowEditProxy |
---|
deleteSet |
Methods inherited from class com.esri.arcgis.interop.Dispatch |
---|
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.geodatabase.IRowEdit |
---|
deleteSet |
Field Detail |
---|
public boolean noncastable
Constructor Detail |
---|
public IFeatureEditProxy()
public IFeatureEditProxy(Object obj) throws IOException
IOException
protected IFeatureEditProxy(Object obj, String iid) throws IOException
IOException
Method Detail |
---|
public void addListener(String iidStr, Object theListener, Object theSource) throws IOException
addListener
in class IRowEditProxy
IOException
public void removeListener(String iidStr, Object theListener) throws IOException
removeListener
in class IRowEditProxy
IOException
public IDisplayFeedback beginMoveSet(ISet features, IPoint start) throws IOException, AutomationException
beginMoveSet
in interface IFeatureEdit
features
- A reference to a com.esri.arcgis.system.ISet (in)start
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void moveSet(ISet features, ILine moveVector) throws IOException, AutomationException
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.
moveSet
in interface IFeatureEdit
features
- A reference to a com.esri.arcgis.system.ISet (in)moveVector
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rotateSet(ISet features, IPoint origin, double angle) throws IOException, AutomationException
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.
rotateSet
in interface IFeatureEdit
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISet split(IGeometry point) throws IOException, AutomationException
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.
split
in interface IFeatureEdit
point
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void splitAttributes(IFeature baseFeature) throws IOException, AutomationException
This method is intended for internal use only.
splitAttributes
in interface IFeatureEdit
baseFeature
- A reference to a com.esri.arcgis.geodatabase.IFeature (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |