|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IEditorZ
Provides access to members that access and manipulate the z-environment of the editor.
This interface is new at ArcGIS 9.3.
For more information on capturing and editing features containing z values, refer to How to work with Z-values in the Editor.
Method Summary | |
---|---|
void |
applyZ(IPoint point)
Applies editor's Z-capture logic to point if it isn't already z-aware. |
void |
drapeGeometry(IGeometry geometry,
boolean addVertices,
IGeometry[] outputGeometry)
Drapes a geometry to the current surface.. |
void |
finalizeZs(IGeometry geometry)
Resolves NaN Zs to definite values. |
INotifyZFinalize |
getNotifyZFinalize()
Callback used to notify if ZCapture mode fails. |
IFunctionalSurface |
getSurface()
Surface used for Z capture. |
int |
getZCaptureType()
Determines method used for z-capture. |
double |
getZDrapingTolerance()
Determines the allowable error from the surface when draping. |
double |
getZOffset()
Determines offset applied to z-value when new vertex is added to edit sketch. |
IMarkerSymbol |
getZSnapSymbol()
Symbol used to indicate when vertex is snapped in Z. |
IFeatureConstruction |
initializeFeatureConstruction()
Initialize a FeatureConstruction object that will use the Editor's ZEnvironment settings. |
boolean |
isDraping()
Indicates whether sketches are draped onto the surface. |
boolean |
isUseZDrapingTolerance()
Indicates whether the ZDrapingTolerance property is used when adding segments to the edit sketch. |
boolean |
isUseZOffset()
Indicates whether new z-values are modified by the ZOffset property. |
void |
setDraping(boolean useDraping)
Indicates whether sketches are draped onto the surface. |
void |
setNotifyZFinalizeByRef(INotifyZFinalize callback)
Callback used to notify if ZCapture mode fails. |
void |
setSurfaceByRef(IFunctionalSurface surface)
Surface used for Z capture. |
void |
setUseZDrapingTolerance(boolean useZDrapingTolerance)
Indicates whether the ZDrapingTolerance property is used when adding segments to the edit sketch. |
void |
setUseZOffset(boolean useZOffset)
Indicates whether new z-values are modified by the ZOffset property. |
void |
setZCaptureType(int zCaptureType)
Determines method used for z-capture. |
void |
setZDrapingTolerance(double zDrapingTolerance)
Determines the allowable error from the surface when draping. |
void |
setZOffset(double zOffset)
Determines offset applied to z-value when new vertex is added to edit sketch. |
void |
setZSnapSymbolByRef(IMarkerSymbol symbol)
Symbol used to indicate when vertex is snapped in Z. |
Method Detail |
---|
void drapeGeometry(IGeometry geometry, boolean addVertices, IGeometry[] outputGeometry) throws IOException, AutomationException
Drapes the input geometry on the editor's current surface (defined by IEditorZ::Surface). If addVertices is FALSE, then only Z values for existing vertices in the input geometry will be updated. If addVertices is TRUE, then new vertices will be inserted at changes in elevation defined by the surface. Existing vertices are not updated when addVertices is TRUE.
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)addVertices
- The addVertices (in)outputGeometry
- A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void applyZ(IPoint point) throws IOException, AutomationException
This method checks to determine that incoming point is Z-aware; if it is not, this method will set it to be Z-aware and apply the current Z assignment behavior to the incoming point in the following order: ZCaptureType, ZOffset. If the z-assignment fails (usually because the z-capture type is surface, and the retrieval of the z-value fails) then the client can receive this message through INotifyZFinalize, and is given an opportunity to specify a valid z-value.
Note: If the incoming point is already z-aware then this method does not alter the incoming point.
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void finalizeZs(IGeometry geometry) throws IOException, AutomationException
This method ensures a particular geometry has a valid set of z values defined. This method attempts to interpolate the z-value of any non-simple points in the geometry; if result is non-simple then the Failed method of the class implementing INotifyZFinalize and hooked into IEditorZ::NotifyZFinalize is given an opportunity to manipulate the Z values. If the client handles this, the method checks for simplicity and defines the offending z-values as necessary to successfully store the feature (using IEditSketch2::CurrentZ).
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getZCaptureType() throws IOException, AutomationException
ZCaptureType defines the current method the editor uses to assign z-values for newly created or edited vertices. The default value is esriZCaptureCurrentZ. When using one either esriCaptureInterpolateZ or esriCaptureSurfaceZ, the resulting z-value may not be defined; if these sources do not produce a valid z-value (non-NaN) then the editor applies the value defined in IEditSketch2::CurrentZ.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZCaptureType(int zCaptureType) throws IOException, AutomationException
zCaptureType
- A com.esri.arcgis.editor.esriZCaptureType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isUseZOffset() throws IOException, AutomationException
Use this property to define whether an offset (specified through IEditorZ::ZOffset) is applied to a z-value captured using the editor. Default value is FALSE.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setUseZOffset(boolean useZOffset) throws IOException, AutomationException
This property will apply an offset to the z-value generated by the editor's ZCaptureType. Default value is 0. The ZOffset is not applied unless IEditorZ::UseZOffset is TRUE.
useZOffset
- The useZOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getZOffset() throws IOException, AutomationException
This property will apply an offset to the z-value generated by the editor's ZCaptureType. Default value is 0. The ZOffset is not applied unless IEditorZ::UseZOffset is TRUE.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZOffset(double zOffset) throws IOException, AutomationException
zOffset
- The zOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isUseZDrapingTolerance() throws IOException, AutomationException
Determines whether a draping tolerance (defined in IEditorZ::ZDrapingTolerance) is applied to limit the number of points added to the sketch. Default value is FALSE.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setUseZDrapingTolerance(boolean useZDrapingTolerance) throws IOException, AutomationException
useZDrapingTolerance
- The useZDrapingTolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getZDrapingTolerance() throws IOException, AutomationException
Double value that defines the maximum offset used to generalize the draped geometry. Will only remove points inserted via draping; does not affect any points explicitly defined by the user. Default value is 0. ZDrapingTolerance is only applied when IEditorZ::UseZDrapingTolerance is TRUE.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZDrapingTolerance(double zDrapingTolerance) throws IOException, AutomationException
zDrapingTolerance
- The zDrapingTolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isDraping() throws IOException, AutomationException
This property determines whether new segments added to the edit sketch are draped onto the defined surface. This behavior is only active when the editor's ZCaptureType is SurfaceZ. When draping is TRUE and the ZCaptureType is SurfaceZ then a new vertex will be inserted at each elevation change in the surface (triangle edges in TINs, cell boundaries in Rasters). When using very accurate surfaces, the number of points can be very high. To minimize the number of vertices inserted into the sketch, a tolerance can be defined using IEditorZ::ZDrapingTolerance; this uses the Douglas-Poiker algorithm to determine significant vertices in Z. The Default value is FALSE.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDraping(boolean useDraping) throws IOException, AutomationException
useDraping
- The useDraping (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IFunctionalSurface getSurface() throws IOException, AutomationException
This property defines the surface used to calculate new z-values. By default, the surface for the editor is built from any available sources (Terrains, Tins, and Rasters) added to the map.
If you choose to use a particular surface for z-capture, assign your surface to this property. This overrides the default "composite" surface defined by the available surfaces defined in your map. This surface does not need to be obtained through a layer in the map, although this is an efficient way to access surface-related information. Any layer associated with this surface does not need to be visible in order to be used for z-capture.
Setting this property to NULL will revert back to the "composite" surface defined by the surfaces in the map.
This property is only active when the editor's ZCaptureType is set to SurfaceZ.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setSurfaceByRef(IFunctionalSurface surface) throws IOException, AutomationException
surface
- A reference to a com.esri.arcgis.geometry.IFunctionalSurface (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IMarkerSymbol getZSnapSymbol() throws IOException, AutomationException
Use this property to change the symbol displayed when the editor snaps to a particular snap agent in Z coordinate space. The Z snap symbol is displayed if you are working with an edit sketch that is Z-aware and the Z-snapping is set. The ZSnapSymbol is identical to the editor's SnapSymbol by default; if SnapTips (IEditProperties2::SnapTips) are enabled, the Z-value of the snapped location is added to the SnapTip when displayed.
The snap agent knows to draw the snap symbol twice, once to get rid of the old symbol and once to draw the symbol at its new location. When setting the symbol, don't forget to set its ROP property (on the ISymbol interface) to esriROPNotXOrPen. This setting allows the symbol to erase itself when drawn twice in the same location.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZSnapSymbolByRef(IMarkerSymbol symbol) throws IOException, AutomationException
symbol
- A reference to a com.esri.arcgis.display.IMarkerSymbol (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.INotifyZFinalize getNotifyZFinalize() throws IOException, AutomationException
Callback mechanism used when Z capture fails; allows the registered client an opportunity to define Zs prior to editor applying default fallback behavior to ensure Z simplicity (ensures Zs are not defined as NaN and geometry is Z-aware). To receive notification when Z assignment fails, you will need to implement INotifyZFinalize on your class and assign a reference to this property. Only one class can modify or receive this notification; you should code defensively to ensure that another extension is not already plugged in. To unhook, set the NotifyZFinalize property to null.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setNotifyZFinalizeByRef(INotifyZFinalize callback) throws IOException, AutomationException
callback
- A reference to a com.esri.arcgis.editor.INotifyZFinalize (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IFeatureConstruction initializeFeatureConstruction() throws IOException, AutomationException
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 |