|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IDynamicDisplay
Provides access to Dynamic Display.
IDynamicDisplay interface gives access to drawing methods that render dynamic items using map coordinates, as well as access to an instance of the Dynamic Glyph Factory object. The Dynamic Glyph Factory object is a singleton object, which is used to create and delete dynamic glyphs and then can be used with the dynamic symbols in order to render the Dynamic items.
The IDynamicDisplay interface is passed in to the callback draw methods: IDynamicLayer.DrawDynamicLayer, IDynamicMapEvents.BeforeDynamicDraw, and IDynamicMapEvents.AfterDynamicDraw.
The drawing methods can
only be used in one of the callback draw methods with the following
specific context:
Any usage of the DynamicDisplay drawing API (or OpenGL API) in any other context will result in an unknown behavior.
Method Summary | |
---|---|
void |
drawLine(IPoint startPoint,
IPoint endPoint)
Draws a line between the specified points on the dynamic display. |
void |
drawMarker(IPoint point)
Draws a marker at the specified point on the dynamic display. |
void |
drawMultipleLines(IPointCollection pointCollection)
Draws specified lines on the dynamic display. |
void |
drawMultipleMarkers(IPointCollection pointCollection)
Draws a marker at the specified points on the dynamic display. |
void |
drawPolygon(IPointCollection pointCollection)
Draws specified polygon with fill and line on the dynamic display. |
void |
drawPolyline(IPointCollection pointCollection)
Draws specified polyline on the dynamic display. |
void |
drawRectangle(IEnvelope envelope)
Draws specified rectangle with fill and line on the dynamic display. |
void |
drawText(IPoint point,
String text)
Draws text at the specified point on the dynamic display. |
IDynamicGlyphFactory |
getDynamicGlyphFactory()
Retrieves the dynamic glyph factory. |
Method Detail |
---|
IDynamicGlyphFactory getDynamicGlyphFactory() throws IOException, AutomationException
Use the dynamic glyph factory object in order to create and delete dynamic glyphs. The dynamic glyphs can be used with the Dynamic Symbols in order to render Dynamic Items.
The Dynamic Glyphs Factory is a singleton object; therefore you can always co-create it in order to use it to create and delete dynamic glyphs.
Performance wise, it is preferable to create the dynamic glyphs in the context of the IDynamicLayer’s DrawDynamicLayer method, in the esriDDPImmediate dynamic-draw-phase, or in the context of the IDynamicMapEvents BeofreDynamicDraw method, in the esriDMDPDynamicLayers dynamic-map-draw-phase, while casting the passed in IDynamicDisplay interface to IDynamicGlyphFactory.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawMultipleMarkers(IPointCollection pointCollection) throws IOException, AutomationException
The markers will be rendered according to the current Dynamic Marker Symbol attributes, as described in esriDynamicSymbolType constants.
Using this method is useful when you need to draw multiple markers that look the same in different locations, for example drawing indication markers on a polyline's or a polygon's vertices.
In order to manage your dynamic items you should keep them in arrays of WKSPoint and have an instance of a Multipoint class (as IPointCollection). In order efficiently update the items you should be using IGeometryBridge2 interface
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawMarker(IPoint point) throws IOException, AutomationException
The marker will be rendered according to the current Dynamic Marker Symbol attributes, as described in esriDynamicSymbolType constants.
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 drawPolygon(IPointCollection pointCollection) throws IOException, AutomationException
The fill will be rendered according to the current Dynamic Fill Symbol attributes, as described inesriDynamicSymbolType, and the lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType
In order to manage your dynamic polygon, you should keep it as an array of WKSPoint (do not forget to copy the first point at the end of the array) and have an instance of a Polygon geometry class in your application (as IPointCollection). In order efficiently update the polygon geometry you should be using IGeometryBridge2 interface.
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawMultipleLines(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamc Line Symbol attributes, as described in esriDynamicSymbolType constants.
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawLine(IPoint startPoint, IPoint endPoint) throws IOException, AutomationException
The line will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
startPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)endPoint
- 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 drawPolyline(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
In order to manage your dynamic polyline, you should keep it as an array of WKSPoint and have an instance of a Polyline geometry class in your application (as IPointCollection). In order efficiently update the polyline geometry you should be using IGeometryBridge2 interface
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawRectangle(IEnvelope envelope) throws IOException, AutomationException
Similar to the DrawPolygon method, the fill will be rendered according to the current Dynamic Fill Symbol attributes, and the lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
envelope
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void drawText(IPoint point, String text) throws IOException, AutomationException
The text will be rendered according to the current Dynamic Text Symbol attributes, as described in esriDynamicSymbolType constants.
Using the Dynamic Text Symbol, you can set the text to have a text box that will use the Dynamic Fill Symbol for Background fill, and the Dynamic Line Symbol for outline. Please refer to IDynamicSymbolProperties2.TextBoxUseDynamicFillSymbol and IDynamicSymbolProperties2.TextBoxUseDynamicLineSymbol boolean properties.
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)text
- The text (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 |