|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IEngineFeatureSnapAgent
Provides access to members that control an engine feature snap agent's properties.
Use this interface to set the behavior of new engine feature snap agents. Engine Feature snap agents control which features the engine's editor attempts to snap to. For example, you may want the editor to automatically snap to the vertex of all buildings. To implement this you would create a new EngineFeatureSnap and specify the FeatureClass to be 'Buildings' and the HitType to be esriGeometryPartVertex . New feature snap agents have to be added to the editor's snap environment with IEngineSnapEnvironment::AddSnapAgent before they can be used unless you want to call Snap yourself.
The last member, FeatureCache , is very rarely used. Use it when applying a snapping constraint on top of an existing placement constraint. For example, you may want to create a constraint that places a point exactly 100 feet away but additionally honors the snap environment that states, snap the point to a feature if it is within the search tolerance. Thus the point has to be 100 feet away no matter what and if this location is within snap tolerance of a feature, place the point exactly on the feature. The basic idea is create the distance constraint inside a sketch tool and then reuse the FeatureCache associated with the particular FeatureSnapAgent so you don't have to manage a new one.
Method Summary | |
---|---|
IFeatureCache |
getFeatureCache()
The FeatureCache associated with the engine feature snap agent. |
IFeatureClass |
getFeatureClass()
The featureclass the feature snap agent snaps to. |
int |
getHitType()
The part of a geometry the engine feature snap agent snaps to. |
void |
setFeatureClassByRef(IFeatureClass featClass)
The featureclass the feature snap agent snaps to. |
void |
setHitType(int hitType)
The part of a geometry the engine feature snap agent snaps to. |
Methods inherited from interface com.esri.arcgis.controls.IEngineSnapAgent |
---|
getName, snap |
Method Detail |
---|
void setFeatureClassByRef(IFeatureClass featClass) throws IOException, AutomationException
featClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IFeatureClass getFeatureClass() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setHitType(int hitType) throws IOException, AutomationException
hitType
- A com.esri.arcgis.geometry.esriGeometryHitPartType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getHitType() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IFeatureCache getFeatureCache() throws IOException, AutomationException
This property has no significance when creating a new engine feature snap agent. Instead, it is used, albeit rarely, inside a sketch tool to perform custom operations on features held in the snapping environments feature cache. For example, the engine editor's SketchTool can issue an angular constraint and still honor the current snapping environment. If this case, a new point would be on the specified angle no matter what but its distance away may change depending on whether or not the point falls within the snap tolerance of a feature. To implement this, the Sketch Tool issues the angular constraint and then reuses the snapping environments feature caches to check if the new point is within snap tolerance of a feature belonging to one of the feature snap agents. You could create your own caches to do this, one for each feature snap agent, but since they already exist, it is much easier to use them.
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 |