com.esri.arcgis.carto
Class DotDensityRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.DotDensityRenderer
All Implemented Interfaces:
IDataExclusion, IDataExclusion2, IDotDensityRenderer, IDotDensityUIRenderer, IExportSupport, IFeatureRenderer, ILegendInfo, IRendererFields, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, Externalizable, Serializable

public class DotDensityRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDataExclusion, IDataExclusion2, IDotDensityRenderer, IDotDensityUIRenderer, IFeatureRenderer, ILegendInfo, IPersist, IPersistStream, IRendererFields, IExportSupport, Externalizable

A dot density renderer.

Description

Use this renderer to create dot density maps (a.k.a. dot maps). The DotDensityRenderer represents quantitative data by drawing randomly placed dots (actually any type of marker symbol) inside polygon features. To use, you must also have a DotDensityFillSymbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
DotDensityRenderer()
          Constructs a DotDensityRenderer using ArcGIS Engine.
DotDensityRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DotDensityRenderer theDotDensityRenderer = (DotDensityRenderer) obj;
 
Method Summary
 void addField(String name, String alias)
          Adds a field to the renderer.
 boolean canRender(IFeatureClass featClass, IDisplay display)
          Indicates if the specified feature class can be rendered on the given display.
 void clearFields()
          Removes all fields from the renderer.
 void createLegend()
          Creates the legend.
 void deleteField(String name)
          Removes the specified field from the renderer.
 void disconnect()
          Disconnects the data from the renderer.
 void draw(IFeatureCursor cursor, int drawPhase, IDisplay display, ITrackCancel trackCancel)
          Draws features from the specified cursor on the given display.
 boolean equals(Object o)
          Compare this object with another
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getColorScheme()
          Color scheme, (user interface property only).
 IFeatureLayer getControlLayer()
          Control layer used for masking.
 IDotDensityFillSymbol getDotDensitySymbol()
          The dot density symbol.
 double getDotValue()
          Value of each dot.
 String getExclusionClause()
          Data exclusion where clause.
 String getExclusionDescription()
          Description for the excluded data.
 String getExclusionLabel()
          Label for the excluded data.
 ISymbol getExclusionSymbol()
          Symbol used to draw excluded values.
 String getField(int index)
          Field at the specified index.
 String getFieldAlias(int index)
          Field alias at the specified index.
 int getFieldCount()
          Number of fields.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 double getMaxDensity()
          Maximum density.
 double getMaxDensityArea()
          Area in map units of the polygon with maximum density.
 double getMeanArea()
          Mean area in map units.
 double getMeanDensity()
          Mean density.
 double getMinDensity()
          Minimum density.
 double getMinDensityArea()
          Area in map units of the polygon with minimum density.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbolByFeature(IFeature feature)
          Symbol used to draw the specified feature.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isMaintainSize()
          Indicates if dot size is preserved when zooming (the alternative is that density is preserved).
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isShowExclusionClass()
          Indicates if the exclusion symbol is used.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 void load(IStream pstm)
          load
 void prepareFilter(IFeatureClass fc, IQueryFilter queryFilter)
          Prepares the query filter for the rendering process.
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void setColorScheme(String name)
          Color scheme, (user interface property only).
 void setControlLayerByRef(IFeatureLayer layer)
          Control layer used for masking.
 void setDotDensitySymbolByRef(IDotDensityFillSymbol symbol)
          The dot density symbol.
 void setDotValue(double value)
          Value of each dot.
 void setExclusionClause(String clause)
          Data exclusion where clause.
 void setExclusionDescription(String text)
          Description for the excluded data.
 void setExclusionLabel(String label)
          Label for the excluded data.
 void setExclusionSetByRef(IFeatureIDSet rhs1)
          An object reference to a temporary drawing exclusion set.
 void setExclusionSymbol(ISymbol symbol)
          Symbol used to draw excluded values.
 void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
          The helper oject to generate export information.
 void setField(int index, String name)
          Field at the specified index.
 void setFieldAlias(int index, String name)
          Field alias at the specified index.
 void setMaintainSize(boolean flag)
          Indicates if dot size is preserved when zooming (the alternative is that density is preserved).
 void setMaxDensity(double value)
          Maximum density.
 void setMaxDensityArea(double value)
          Area in map units of the polygon with maximum density.
 void setMeanArea(double value)
          Mean area in map units.
 void setMeanDensity(double value)
          Mean density.
 void setMinDensity(double value)
          Minimum density.
 void setMinDensityArea(double value)
          Area in map units of the polygon with minimum density.
 void setShowExclusionClass(boolean show)
          Indicates if the exclusion symbol is used.
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

DotDensityRenderer

public DotDensityRenderer()
                   throws IOException,
                          UnknownHostException
Constructs a DotDensityRenderer using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

DotDensityRenderer

public DotDensityRenderer(Object obj)
                   throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DotDensityRenderer theDotDensityRenderer = (DotDensityRenderer) obj;

Construct a DotDensityRenderer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to DotDensityRenderer.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getExclusionClause

public String getExclusionClause()
                          throws IOException,
                                 AutomationException
Data exclusion where clause.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionClause in interface IDataExclusion
Returns:
The clause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionClause

public void setExclusionClause(String clause)
                        throws IOException,
                               AutomationException
Data exclusion where clause.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionClause in interface IDataExclusion
Parameters:
clause - The clause (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionSymbol

public ISymbol getExclusionSymbol()
                           throws IOException,
                                  AutomationException
Symbol used to draw excluded values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionSymbol in interface IDataExclusion
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSymbol

public void setExclusionSymbol(ISymbol symbol)
                        throws IOException,
                               AutomationException
Symbol used to draw excluded values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSymbol in interface IDataExclusion
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowExclusionClass

public boolean isShowExclusionClass()
                             throws IOException,
                                    AutomationException
Indicates if the exclusion symbol is used.

Description

Setting ShowExclusionClass to TRUE creates a new LegendClass that appears in the TOC containing the ExclusionSymbol, ExclusionLabel, and ExclusionDescription. Also, use this property to control whether the ExclusionSymbol is drawn on the map. IDataExclusion provides no mechanism to make the symbol appear on the map, but not in the TOC.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowExclusionClass in interface IDataExclusion
Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowExclusionClass

public void setShowExclusionClass(boolean show)
                           throws IOException,
                                  AutomationException
Indicates if the exclusion symbol is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowExclusionClass in interface IDataExclusion
Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionLabel

public String getExclusionLabel()
                         throws IOException,
                                AutomationException
Label for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionLabel in interface IDataExclusion
Returns:
The label
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionLabel

public void setExclusionLabel(String label)
                       throws IOException,
                              AutomationException
Label for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionLabel in interface IDataExclusion
Parameters:
label - The label (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionDescription

public String getExclusionDescription()
                               throws IOException,
                                      AutomationException
Description for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionDescription in interface IDataExclusion
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionDescription

public void setExclusionDescription(String text)
                             throws IOException,
                                    AutomationException
Description for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionDescription in interface IDataExclusion
Parameters:
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disconnect

public void disconnect()
                throws IOException,
                       AutomationException
Disconnects the data from the renderer.

Product Availability

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

Specified by:
disconnect in interface IDataExclusion2
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDotDensitySymbol

public IDotDensityFillSymbol getDotDensitySymbol()
                                          throws IOException,
                                                 AutomationException
The dot density symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDotDensitySymbol in interface IDotDensityRenderer
Returns:
A reference to a com.esri.arcgis.display.IDotDensityFillSymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDotDensitySymbolByRef

public void setDotDensitySymbolByRef(IDotDensityFillSymbol symbol)
                              throws IOException,
                                     AutomationException
The dot density symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDotDensitySymbolByRef in interface IDotDensityRenderer
Parameters:
symbol - A reference to a com.esri.arcgis.display.IDotDensityFillSymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDotValue

public double getDotValue()
                   throws IOException,
                          AutomationException
Value of each dot.

Description

This property controls how many dots will be placed in each polygon. As DotValue increases, fewer dots will be placed in each polygon. Conversely, use a smaller DotValue to place more dots in each polygon. Customarily, a round number is used for this value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDotValue in interface IDotDensityRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDotValue

public void setDotValue(double value)
                 throws IOException,
                        AutomationException
Value of each dot.

Description

The DotValue controls how many dots will be placed in each polygon. As the value increases, fewer dots will be placed in each polygon. Conversely, use a smaller DotValue to place more dots in each polygon. Customarily, a round number is used for this value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDotValue in interface IDotDensityRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getControlLayer

public IFeatureLayer getControlLayer()
                              throws IOException,
                                     AutomationException
Control layer used for masking.

Description

This is the layer used for dot density masking. Dot density masking restricts the placement of dots within the polygons being renderered based on the polygons in the ControlLayer. Use IDotDensityMasking to access additional masking properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getControlLayer in interface IDotDensityRenderer
Returns:
A reference to a com.esri.arcgis.carto.IFeatureLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setControlLayerByRef

public void setControlLayerByRef(IFeatureLayer layer)
                          throws IOException,
                                 AutomationException
Control layer used for masking.

Description

The ControlLayer is the layer used for masking. Masking restricts the placement of dots within specified areas of the ControlLayer. Use IDotDensityMasking to access additional masking properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setControlLayerByRef in interface IDotDensityRenderer
Parameters:
layer - A reference to a com.esri.arcgis.carto.IFeatureLayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColorScheme

public String getColorScheme()
                      throws IOException,
                             AutomationException
Color scheme, (user interface property only).

Description

The name of the color scheme for the renderer. This string is used by the MultiDotDensityPropertyPage.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getColorScheme in interface IDotDensityRenderer
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColorScheme

public void setColorScheme(String name)
                    throws IOException,
                           AutomationException
Color scheme, (user interface property only).

Description

The name of the color scheme for the renderer. This string is used by the MultiDotDensityPropertyPage .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setColorScheme in interface IDotDensityRenderer
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createLegend

public void createLegend()
                  throws IOException,
                         AutomationException
Creates the legend. Call after all properties are set.

Description

Call this method after making any changes to the dot density renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createLegend in interface IDotDensityRenderer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaintainSize

public void setMaintainSize(boolean flag)
                     throws IOException,
                            AutomationException
Indicates if dot size is preserved when zooming (the alternative is that density is preserved).

Description

Controls whether dot density or dot size is held constant when the map scale changes. If True, then dot size is maintained.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaintainSize in interface IDotDensityRenderer
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMaintainSize

public boolean isMaintainSize()
                       throws IOException,
                              AutomationException
Indicates if dot size is preserved when zooming (the alternative is that density is preserved).

Description

Specifies whether or not dot size is held constant when the map scale changes. If True, then dot size is maintained.

If False, then dot density is held constant and dot size will change. What this means is that when you zoom in on the map, the size of dots will increase to maintain the same density of "inked" space in each polygon. When you zoom out, the size of dots will decrease, again to maintain the same density of "inked" space in each feature between the old and new scale.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMaintainSize in interface IDotDensityRenderer
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinDensity

public double getMinDensity()
                     throws IOException,
                            AutomationException
Minimum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinDensity in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinDensity

public void setMinDensity(double value)
                   throws IOException,
                          AutomationException
Minimum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMinDensity in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinDensityArea

public double getMinDensityArea()
                         throws IOException,
                                AutomationException
Area in map units of the polygon with minimum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinDensityArea in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinDensityArea

public void setMinDensityArea(double value)
                       throws IOException,
                              AutomationException
Area in map units of the polygon with minimum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMinDensityArea in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMeanDensity

public double getMeanDensity()
                      throws IOException,
                             AutomationException
Mean density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMeanDensity in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMeanDensity

public void setMeanDensity(double value)
                    throws IOException,
                           AutomationException
Mean density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMeanDensity in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMeanArea

public double getMeanArea()
                   throws IOException,
                          AutomationException
Mean area in map units.

Description

The mean area in map units for all features in the feature class. meanArea = sum of areas for all features / number of features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMeanArea in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMeanArea

public void setMeanArea(double value)
                 throws IOException,
                        AutomationException
Mean area in map units.

Description

The mean area in map units for all features in the feature class. meanArea = sum of areas for all features / number of features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMeanArea in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxDensity

public double getMaxDensity()
                     throws IOException,
                            AutomationException
Maximum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxDensity in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxDensity

public void setMaxDensity(double value)
                   throws IOException,
                          AutomationException
Maximum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaxDensity in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxDensityArea

public double getMaxDensityArea()
                         throws IOException,
                                AutomationException
Area in map units of the polygon with maximum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxDensityArea in interface IDotDensityUIRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxDensityArea

public void setMaxDensityArea(double value)
                       throws IOException,
                              AutomationException
Area in map units of the polygon with maximum density.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaxDensityArea in interface IDotDensityUIRenderer
Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canRender

public boolean canRender(IFeatureClass featClass,
                         IDisplay display)
                  throws IOException,
                         AutomationException
Indicates if the specified feature class can be rendered on the given display.

Remarks

If the renderer is not applicable to a feature layer, then it can return False in response to a CanRender method. For example, the dot-density renderer is only applicable to polygon feature layers and returns False in response to other feature layers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canRender in interface IFeatureRenderer
Parameters:
featClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

prepareFilter

public void prepareFilter(IFeatureClass fc,
                          IQueryFilter queryFilter)
                   throws IOException,
                          AutomationException
Prepares the query filter for the rendering process.

Remarks

This method is called prior to the Draw method and gives the renderer a chance to adjust the query filter to incorporate extra constraints. For example, if a particular field is required for the renderer, it would add this field to the filter to ensure it is accessible during the Draw method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
prepareFilter in interface IFeatureRenderer
Parameters:
fc - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IFeatureCursor cursor,
                 int drawPhase,
                 IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws features from the specified cursor on the given display.

Remarks

This method is typically called by the framework to renderer features to a display. This could be in response to a refresh on the map. This method typically iterates through all the features and renders each feature with an appropriate symbol.

An individual feature is typically drawn by calling the Draw method on the feature's IFeatureDraw with the symbol created by the renderer. However, when writing a custom feature renderer you can draw anything you want using a number of different methods. To learn more see the section on writing a custom feature renderer in Extending ArcObjects.

To allow complex rendering to be canceled halfway through a draw, the renderer typically checks the TrackCancel object after each feature or set of features. If a cancel action has occurred, the renderer will exit.

There are three drawing phases: selection, annotation, and geography, and this method can be called by the framework up to three times. With the exception of the selection phase, this method will only be called for a particular draw phase if the call by the framework to RenderPhase returns true for that phase.

Feature renderers typically only draw features during the geography phase, though in some cases features are drawn in the annotation phase. Take for example a case where proportional symbols are drawn for polygon features. The ProportionalSymbolRenderer draws the background fill symbol during the geography phase and the proportionally sized marker symbol during the annotation phase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureRenderer
Parameters:
cursor - A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolByFeature

public ISymbol getSymbolByFeature(IFeature feature)
                           throws IOException,
                                  AutomationException
Symbol used to draw the specified feature.

Product Availability

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

Specified by:
getSymbolByFeature in interface IFeatureRenderer
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRenderPhase

public boolean isRenderPhase(int drawPhase)
                      throws IOException,
                             AutomationException
Indicates if renderer uses the specified draw phase.

Product Availability

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

Specified by:
isRenderPhase in interface IFeatureRenderer
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSetByRef

public void setExclusionSetByRef(IFeatureIDSet rhs1)
                          throws IOException,
                                 AutomationException
An object reference to a temporary drawing exclusion set.

Description

The list of feature IDs to be excluded from drawing.

Remarks

Some feature renderers support IDataExclusion which allows you to build a where clause to exclude features.

Exclusion prevents features from drawing. To prevent features from drawing as well as from appearing in tables and in query results, set a layer definition query using IFeatureLayerDefinition.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSetByRef in interface IFeatureRenderer
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureIDSet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroupCount

public int getLegendGroupCount()
                        throws IOException,
                               AutomationException
Number of legend groups contained by the object.

Remarks

The number of legend groups is determined by the implementation of the renderer, consequently this property is read only. For example, SimpleRenderer has one group, while a BiUniqueValueRenderer has any number of groups.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendGroupCount in interface ILegendInfo
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroup

public ILegendGroup getLegendGroup(int index)
                            throws IOException,
                                   AutomationException
Legend group at the specified index.

Product Availability

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

Specified by:
getLegendGroup in interface ILegendInfo
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILegendGroup
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendItem

public ILegendItem getLegendItem()
                          throws IOException,
                                 AutomationException
Optional. Defines legend formatting for layer rendered with this object.

Remarks

Layer or renderer legend information is further formatted for display in ArcMap legends. A renderer can override this formatting by returning a LegendItem for this property. ESRI renderers typically do not return anything for this property. With this configuration, legend formatting becomes a user or developer choice on the legend object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendItem in interface ILegendInfo
Returns:
A reference to a com.esri.arcgis.carto.ILegendItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSymbolsAreGraduated

public boolean isSymbolsAreGraduated()
                              throws IOException,
                                     AutomationException
Indicates if symbols are graduated.

Description

Indicates whether the symbols used for a layer or renderer's legend vary by size.

Remarks

For example the proportional symbol renderer returns True for this property.

You can use this property to distinguish between a layer symbolized with graduated color or graduated symbol type layer symbology. Both of these symbolizations use a ClassBreaksRenderer, but only a graduated symbol symbolization will return True for this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSymbolsAreGraduated in interface ILegendInfo
Returns:
The symbolsAreGraduated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolsAreGraduated

public void setSymbolsAreGraduated(boolean symbolsAreGraduated)
                            throws IOException,
                                   AutomationException
Indicates if symbols are graduated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolsAreGraduated in interface ILegendInfo
Parameters:
symbolsAreGraduated - The symbolsAreGraduated (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldCount

public int getFieldCount()
                  throws IOException,
                         AutomationException
Number of fields.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFieldCount in interface IRendererFields
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getField

public String getField(int index)
                throws IOException,
                       AutomationException
Field at the specified index.

Product Availability

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

Specified by:
getField in interface IRendererFields
Parameters:
index - The index (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setField

public void setField(int index,
                     String name)
              throws IOException,
                     AutomationException
Field at the specified index.

Product Availability

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

Specified by:
setField in interface IRendererFields
Parameters:
index - The index (in)
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldAlias

public String getFieldAlias(int index)
                     throws IOException,
                            AutomationException
Field alias at the specified index.

Product Availability

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

Specified by:
getFieldAlias in interface IRendererFields
Parameters:
index - The index (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFieldAlias

public void setFieldAlias(int index,
                          String name)
                   throws IOException,
                          AutomationException
Field alias at the specified index.

Product Availability

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

Specified by:
setFieldAlias in interface IRendererFields
Parameters:
index - The index (in)
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addField

public void addField(String name,
                     String alias)
              throws IOException,
                     AutomationException
Adds a field to the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addField in interface IRendererFields
Parameters:
name - The name (in)
alias - The alias (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteField

public void deleteField(String name)
                 throws IOException,
                        AutomationException
Removes the specified field from the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteField in interface IRendererFields
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearFields

public void clearFields()
                 throws IOException,
                        AutomationException
Removes all fields from the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearFields in interface IRendererFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExportInfoByRef

public void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
                        throws IOException,
                               AutomationException
The helper oject to generate export information.

Product Availability

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

Specified by:
setExportInfoByRef in interface IExportSupport
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureExportInfoGenerator (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException