com.esri.arcgis.display
Interface IGeometricEffect

All Superinterfaces:
Serializable
All Known Implementing Classes:
BasicFillSymbol, BasicLineSymbol, BasicMarkerSymbol, GeometricEffectAddControlPoints, GeometricEffectBuffer, GeometricEffectCut, GeometricEffectDash, GeometricEffectDonut, GeometricEffectEnclosingPolygon, GeometricEffectMove, GeometricEffectOffset, GeometricEffectRadial, GeometricEffectRegularPolygon, GeometricEffectReverse, GeometricEffectRotate, GeometricEffectScale, GeometricEffectSimplify, GeometricEffectSmooth, GeometricEffectTaperedPolygon, GeometricEffectWave, RepresentationRule

public interface IGeometricEffect
extends Serializable

Provides access to the Geometric Effect Interface.

Remarks

IGeometricEffect interface has methods useful for defining a geometric effect. If you create a custom geometric effect, 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..

OutputType is the method used to retrieve the type of valid output geometry given with an input geometry type. For all invalid input geometry types this property will return esriGeometryNull.

Reset method is used to re-set the result of applying a geometric effect on an input geometry. Next method is used to retrieve the individual parts created after the effect is processed. Sometimes an effect may result in a multi-part output geometry. For example a Dash effect will usually give a multi-part output geometry as the result where each part can be retrieved using the Next method.

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

Geometric effect is a dynamic process that alters the geometry of feature representations. Effects can be added to either a basic symbol layer or at a representation rule level making it globally applicable to all symbol layers present for that rule to create complex symbols. Also, a single representation rule can contain multiple geometric effects, functioning in sequence. When a single rule is applied with a chain of geometric effects, the end result of applying the chain of effects can be considered and managed as a single Geometric Effect. For this reason, representation rule and all basic symbol objects inherits both IGeometricEffect and IGeometricEffects interfaces. The result of geometric effects applied on a rule are directly passed onto all basic symbol layers present within the rule for drawing features.

While IGeometricEffects interface is useful to browse through individual effects participating in the rule, IGeometricEffect interface is useful to manage the chain of multiple effects as a single geometric effect. For example, if there are two geometric effects GeometricEffectDash and GeometricEffectOffset applied on linestrokes in sequential order, then you can use IGeometricEffects interface to get the results for individual Dash or Offset effects but not both. However, you can use IGeometricEffect interface to get the result of applying the combination of both Dash and Offset as a single effect.

When To Use

This interface must be implemented by all custom geometric effects 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
 int getOutputType(int inputType)
          The output type of the geometric effect.
 IGeometry nextGeometry()
          Accesses the next geometry generated by th effect.
 void reset(IGeometry geometry)
          Resets the collection of generated geometries.
 

Method Detail

getOutputType

int getOutputType(int inputType)
                  throws IOException,
                         AutomationException
The output type of the geometric effect.

Product Availability

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

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

reset

void reset(IGeometry geometry)
           throws IOException,
                  AutomationException
Resets the collection of generated geometries. Must be called before using NextGeometry.

Product Availability

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

Parameters:
geometry - 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.

nextGeometry

IGeometry nextGeometry()
                       throws IOException,
                              AutomationException
Accesses the next geometry generated by th effect.

Product Availability

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

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