com.esri.arcgis.display
Interface IMarkerPlacement

All Superinterfaces:
Serializable
All Known Implementing Classes:
MarkerPlacementAlongLine, MarkerPlacementAtExtremities, MarkerPlacementDecoration, MarkerPlacementInsidePolygon, MarkerPlacementOnLine, MarkerPlacementOnPoint, MarkerPlacementOnVertices, MarkerPlacementPolygonCenter, MarkerPlacementRandomAlongLine, MarkerPlacementRandomInPolygon, MarkerPlacementVariableAlongLine

public interface IMarkerPlacement
extends Serializable

Provides access to members that control the marker placement.

Remarks

Use IMarkerPlacement to define how you want to place marker symbols with respect to input geometry. If you create a custom marker placement, then IGraphicAttributes interface which will define the properties for this effect and IPersistVariant (VB users) or IPersist and IPersistStream (C++ users) to persist the object have to be implemented.

AcceptGeometryType is a boolean that indicates if the input geometry type is valid for the MarkerPlacement object. For example, this property returns True if input is esriGeometryPoint for MarkerPlacementOnPoint as this object places a marker at the location of the point geometry.

Reset method is used to re-set the result of applying a marker placement to a feature representation. Next method is used to retrieve the individual transformations created after the marker placement is applied. Sometimes a placement style may result in a multi-point output transformations. For example, MarkerPlacemementAlongLine places multiple markers along a line geometry.

Note: Reset method has to be called prior to calling Next method.

To make changes to an existing BasicMarkerSymbol's marker placement property use IBasicMarkerSymbol::MarkerPlacement property to retrieve the object and make changes using a IMarkerPlacement interface.

When To Use

This interface must be implemented by all custom marker placement objects along with IGraphicAttributes and IPersistVariant interfaces (or IPersist and IPersistStream in Visual Basic 6.0).

Product Availability

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


Method Summary
 boolean isAcceptGeometryType(int inputType)
          Indicates if the input geometry type is valid.
 IAffineTransformation2D nextTransformation()
          Hands back the next transformation.
 void reset(IGeometry geom)
          Resets the collection of transformations.
 

Method Detail

isAcceptGeometryType

boolean isAcceptGeometryType(int inputType)
                             throws IOException,
                                    AutomationException
Indicates if the input geometry type is valid.

Product Availability

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

Parameters:
inputType - A com.esri.arcgis.geometry.esriGeometryType constant (in)
Returns:
The accept
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

void reset(IGeometry geom)
           throws IOException,
                  AutomationException
Resets the collection of transformations. Must be called before using NextTransformation.

Product Availability

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

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

nextTransformation

IAffineTransformation2D nextTransformation()
                                           throws IOException,
                                                  AutomationException
Hands back the next transformation.

Product Availability

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

Returns:
A reference to a com.esri.arcgis.geometry.IAffineTransformation2D
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.