com.esri.arcgis.carto
Class UniqueValueRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.UniqueValueRenderer
All Implemented Interfaces:
IExportSupport, IFeatureRenderer, ILegendInfo, ILevelRenderer, ILookupLegendClass, ILookupSymbol, IRendererClasses, IRotationRenderer, IRotationRenderer2, ISizeRenderer, ITransparencyRenderer, IUniqueValueRenderer, IDisplayAdmin, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class UniqueValueRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IUniqueValueRenderer, IFeatureRenderer, ILevelRenderer, ILegendInfo, IPersistStream, IPersist, IRendererClasses, IRotationRenderer, IRotationRenderer2, ISizeRenderer, ITransparencyRenderer, IDisplayAdmin, ILookupSymbol, IXMLSerialize, IXMLVersionSupport, IExportSupport, ILookupLegendClass, Externalizable

A unique values renderer where symbols are assigned to features based on an unique attribute values.

Description

Use this object to symbolize features based on the values of one or more attribute fields to show categorical difference.

Remarks

Use the UniqueValueRenderer to display feature data that falls into distinct categories based on attribute values. For example, if you have parcel data with land use types of residential, agriculture, and retail, you can use a different symbol to represent each unique land use type.

Each unique value can define a unique category, represented with a single symbol, or values can by combined by grouping so that more than one value is symbolized with the same symbol. Grouping is implemented by utilizing IUniqueValueRenderer::ReferenceValue. Also, headings can be used to organize categories in the table of contents and legend, see IUniqueValueRenderer::Heading.

Unique value renderering is typically based on a single attribute field, however up to 3 fields can be used. When more than one field is used, the combinations of the unique values from each field are used to define the categories. So, for example if two fields are used which store the values A and B; and X, Y, and Z respectively, then the initial categories will be defined as A|X, A|Y, A|Z, B|X, B|Y, and B|Z.




Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
UniqueValueRenderer()
          Constructs a UniqueValueRenderer using ArcGIS Engine.
UniqueValueRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
UniqueValueRenderer theUniqueValueRenderer = (UniqueValueRenderer) obj;
 
Method Summary
 void addReferenceValue(String value, String refValue)
          Adds a value to the renderer to be grouped with refValue, which has already been added to the renderer.
 void addValue(String value, String heading, ISymbol symbol)
          Adds a value and corresponding symbol to the list.
 boolean canRender(IFeatureClass featClass, IDisplay display)
          Indicates if the specified feature class can be rendered on the given display.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 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
 String esri_getClass(int index)
          Class name.
 int getClassCount()
          Number of classes.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getColorScheme()
          Color scheme (user interface property only).
 String getDefaultLabel()
          Label used for unspecified values.
 ISymbol getDefaultSymbol()
          Symbol used to draw any unspecified values (may be NULL).
 String getDescription(String value)
          Desription for the specified label.
 String getField(int index)
          Field at the specified index that is used to categorize features.
 int getFieldCount()
          Number of fields used by the renderer (0-3).
 String getFieldDelimiter()
          Delimiter used to separate field values.
 String getHeading(String value)
          Heading that contains the specified value.
 String getLabel(String value)
          Label for the specified value.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 Object getLevelArray()
          Array that contains all levels used by the symbols, (symbols without a level get a level of 0).
 String getLookupStyleset()
          Style used for matching (user interface property only).
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 String getReferenceValue(String value)
          Reference value for the specified value.
 String getRotationField()
          Rotation field.
 int getRotationType()
          Rotation type.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 String getSizeRendererExpression()
          Gets size expression.
 int getSizeRendererFlags()
          Gets sizing flags composed of enum esriSizeRendererFlags.
 void getSizeRendererRandomRange(double[] pMinSize, double[] pMaxSize)
          Gets size range for random sizing.
 ISymbol getSymbol(String value)
          Symbol associated with the specified value.
 ISymbol getSymbolByFeature(IFeature feature)
          Symbol used to draw the specified feature.
 void getSymbolRotation3DExpressions(String[] pExpressionX, String[] pExpressionY, String[] pExpressionZ)
          Gets expressions for rotation about each axis.
 int getSymbolRotation3DFlags()
          Gets rotation flags composed of enum esriSymbolRotation3DFlags.
 void getSymbolRotation3DFlags2(int[] pFlagX, int[] pFlagY, int[] pFlagZ)
          Gets one flag for each axis.
 void getSymbolRotation3DRandomRanges(double[] pMinRotationX, double[] pMinRotationY, double[] pMinRotationZ, double[] pMaxRotationX, double[] pMaxRotationY, double[] pMaxRotationZ)
          Gets rotation range for each axis (for random rotation).
 int getSymbolRotation3DRotationTypeZ()
          Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).
 String getTransparencyField()
          Transparency field.
 String getValue(int index)
          Value at the specified index.
 int getValueCount()
          Number of unique values used to categorize the data.
 String getWhereClause(int index, ITable table)
          WhereClause.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 boolean isUseDefaultSymbol()
          Indicates if DefaultSymbol is used for drawing unspecified values.
 boolean isUsesFilter()
          Indicates if the current object draws using a filter.
 void load(IStream pstm)
          load
 int lookupLegendClass(IFeature feature, int[] legendGroupIdx)
          Returns the legend group and the legend class indexes for the input feature.
 ISymbol lookupSymbol(boolean firstPass, IFeature feature)
          Returns a reference to the renderer's symbol for the input feature.
 void prepareFilter(IFeatureClass fc, IQueryFilter queryFilter)
          Prepares the query filter for the rendering process.
 void readExternal(ObjectInput in)
           
 void removeAllValues()
          Removes all values from the renderer.
 void removeValue(String value)
          Removes a value from the renderer.
 void resetLookupSymbol(ISymbol symbol)
          Resets temporary options on the symbol (e.g.
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setColorScheme(String name)
          Color scheme (user interface property only).
 void setCurrentDrawLevel(int rhs1)
          The current draw level, (set to -1 to draw all levels).
 void setDefaultLabel(String label)
          Label used for unspecified values.
 void setDefaultSymbol(ISymbol symbol)
          Symbol used to draw any unspecified values (may be NULL).
 void setDescription(String value, String text)
          Desription for the specified label.
 void setExclusionSetByRef(IFeatureIDSet rhs1)
          An object reference to a temporary drawing exclusion set.
 void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
          The helper oject to generate export information.
 void setField(int index, String field)
          Field at the specified index that is used to categorize features.
 void setFieldCount(int fieldCount)
          Number of fields used by the renderer (0-3).
 void setFieldDelimiter(String delimiter)
          Delimiter used to separate field values.
 void setFieldType(int index, boolean rhs2)
          Indicates if the field at the specified index is a string.
 void setHeading(String value, String heading)
          Heading that contains the specified value.
 void setLabel(String value, String label)
          Label for the specified value.
 void setLookupStyleset(String name)
          Style used for matching (user interface property only).
 void setRotationField(String fieldName)
          Rotation field.
 void setRotationType(int type)
          Rotation type.
 void setSizeRendererExpression(String pExpression)
          Gets size expression.
 void setSizeRendererFlags(int pFlags)
          Gets sizing flags composed of enum esriSizeRendererFlags.
 void setSizeRendererRandomRange(double minSize, double maxSize)
          Sets size range for random sizing.
 void setSymbol(String value, ISymbol symbol)
          Symbol associated with the specified value.
 void setSymbolRotation3DExpressions(String expressionX, String expressionY, String expressionZ)
          Sets expressions for rotation about each axis.
 void setSymbolRotation3DFlags(int pFlags)
          Gets rotation flags composed of enum esriSymbolRotation3DFlags.
 void setSymbolRotation3DFlags2(int flagX, int flagY, int flagZ)
          Sets one flag for each axis.
 void setSymbolRotation3DRandomRanges(double minRotationX, double minRotationY, double minRotationZ, double maxRotationX, double maxRotationY, double maxRotationZ)
          Sets rotation range for each axis (for random rotation).
 void setSymbolRotation3DRotationTypeZ(int pType)
          Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void setTransparencyField(String fieldName)
          Transparency field.
 void setUseDefaultSymbol(boolean flag)
          Indicates if DefaultSymbol is used for drawing unspecified values.
 void setValue(int index, String value)
          Value at the specified index.
 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

UniqueValueRenderer

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

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

UniqueValueRenderer

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

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

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

getField

public String getField(int index)
                throws IOException,
                       AutomationException
Field at the specified index that is used to categorize features.

Product Availability

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

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

setField

public void setField(int index,
                     String field)
              throws IOException,
                     AutomationException
Field at the specified index that is used to categorize features.

Product Availability

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

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

setFieldType

public void setFieldType(int index,
                         boolean rhs2)
                  throws IOException,
                         AutomationException
Indicates if the field at the specified index is a string.

Product Availability

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

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

getFieldDelimiter

public String getFieldDelimiter()
                         throws IOException,
                                AutomationException
Delimiter used to separate field values.

Description

FieldDelimiter is the string that is inserted between the values of different fields, when more than one field is specified.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFieldDelimiter in interface IUniqueValueRenderer
Returns:
The delimiter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFieldDelimiter

public void setFieldDelimiter(String delimiter)
                       throws IOException,
                              AutomationException
Delimiter used to separate field values.

Description

FieldDelimiter is the string that is inserted between the values of different fields, when more than one field is specified.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFieldDelimiter in interface IUniqueValueRenderer
Parameters:
delimiter - The delimiter (in)
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 used by the renderer (0-3).

Description

FieldCount is the number of fields in the Field collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFieldCount

public void setFieldCount(int fieldCount)
                   throws IOException,
                          AutomationException
Number of fields used by the renderer (0-3).

Description

FieldCount is the number of fields in the Field collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDefaultSymbol

public ISymbol getDefaultSymbol()
                         throws IOException,
                                AutomationException
Symbol used to draw any unspecified values (may be NULL).

Description

The symbol used to represent all attribute values that have not been added to the renderer.

Remarks

Values that have not been added to the renderer object can be drawn according to the symbol set for this property. To enable the drawing of this symbol you must also set UseDefaultSymbol = True. Access the label for the default symbol through DefaultLabel.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultSymbol in interface IUniqueValueRenderer
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.

setDefaultSymbol

public void setDefaultSymbol(ISymbol symbol)
                      throws IOException,
                             AutomationException
Symbol used to draw any unspecified values (may be NULL).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDefaultSymbol in interface IUniqueValueRenderer
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.

getDefaultLabel

public String getDefaultLabel()
                       throws IOException,
                              AutomationException
Label used for unspecified values.

Description

DefaultLabel is the label used for the DefaultSymbol in the table of contents.
To change the DefaultLabel for an existing UniqueValueRenderer that is using a DefaultSymbol(has UseDefaultSymbol = True), you must set UseDefaultSymbol = False and then back to True to properly update the renderer's entry in the ArcMap table of contents.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDefaultLabel

public void setDefaultLabel(String label)
                     throws IOException,
                            AutomationException
Label used for unspecified values.

Description

DefaultLabel is the label used for the DefaultSymbol in the table of contents.
To change the DefaultLabel for an existing UniqueValueRenderer that is using a DefaultSymbol(has UseDefaultSymbol = True), you must set UseDefaultSymbol = False and then back to True to properly update the renderer's entry in the ArcMap table of contents.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isUseDefaultSymbol

public boolean isUseDefaultSymbol()
                           throws IOException,
                                  AutomationException
Indicates if DefaultSymbol is used for drawing unspecified values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setUseDefaultSymbol

public void setUseDefaultSymbol(boolean flag)
                         throws IOException,
                                AutomationException
Indicates if DefaultSymbol is used for drawing unspecified values.

Description

UseDefaultSymbol is the symbol used to represent all attribute values that have not been added using with the AddValue or AddReferenceValue methods.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getValueCount

public int getValueCount()
                  throws IOException,
                         AutomationException
Number of unique values used to categorize the data.

Description

The number of unique values defined for the renderer.

Remarks

To iterate through all of the renderer values, use the Value property and iterate from index 0 through index ValueCount - 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getValueCount in interface IUniqueValueRenderer
Returns:
The valueCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValue

public String getValue(int index)
                throws IOException,
                       AutomationException
Value at the specified index.

Product Availability

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

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

setValue

public void setValue(int index,
                     String value)
              throws IOException,
                     AutomationException
Value at the specified index.

Product Availability

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

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

getReferenceValue

public String getReferenceValue(String value)
                         throws IOException,
                                AutomationException
Reference value for the specified value.

Product Availability

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

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

addReferenceValue

public void addReferenceValue(String value,
                              String refValue)
                       throws IOException,
                              AutomationException
Adds a value to the renderer to be grouped with refValue, which has already been added to the renderer.

Description

Adds the specified value to an existing renderer category. Use this method to specify that the Value parameter will be assigned the same symbol as an existing renderer Value, corresponding to the RefVal parameter. In ArcMap values that are drawn with the same symbol are said to be grouped.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSymbol

public ISymbol getSymbol(String value)
                  throws IOException,
                         AutomationException
Symbol associated with the specified value.

Product Availability

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

Specified by:
getSymbol in interface IUniqueValueRenderer
Parameters:
value - The value (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.

setSymbol

public void setSymbol(String value,
                      ISymbol symbol)
               throws IOException,
                      AutomationException
Symbol associated with the specified value.

Product Availability

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

Specified by:
setSymbol in interface IUniqueValueRenderer
Parameters:
value - The value (in)
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.

getLabel

public String getLabel(String value)
                throws IOException,
                       AutomationException
Label for the specified value.

Product Availability

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

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

setLabel

public void setLabel(String value,
                     String label)
              throws IOException,
                     AutomationException
Label for the specified value.

Product Availability

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

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

getDescription

public String getDescription(String value)
                      throws IOException,
                             AutomationException
Desription for the specified label.

Product Availability

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

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

setDescription

public void setDescription(String value,
                           String text)
                    throws IOException,
                           AutomationException
Desription for the specified label.

Product Availability

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

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

getHeading

public String getHeading(String value)
                  throws IOException,
                         AutomationException
Heading that contains the specified value.

Product Availability

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

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

setHeading

public void setHeading(String value,
                       String heading)
                throws IOException,
                       AutomationException
Heading that contains the specified value.

Product Availability

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

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

addValue

public void addValue(String value,
                     String heading,
                     ISymbol symbol)
              throws IOException,
                     AutomationException
Adds a value and corresponding symbol to the list. For multivariate cases, the specified value is a delimitted list of individual values.

Description

Adds a value and symbol to the list of unique values.

Remarks

After setting FieldCount and setting at least one Field, use this method to add a unique value and corresponding symbol to the renderer. You can later retrieve and/or change the symbol for particular value using the Symbol property.

If you pass a Value that already exists in the renderer, then the existing symbol for the Value will be replaced by the object passed as the Symbol parameter.

If FieldCount > 1 then the Value you pass should be a list of values, one for each field, separated by the FieldDelimitter. By default this is a comma.

To add a value to the renderer, and have that value be drawn with the same symbol as another existing value or values, use AddReferenceValue instead of AddValue. When more than one value is drawn with the same symbol, the values are said to be grouped.

Null Values

At ArcGIS versions 8.2 and later, special behavior was added to the UniqueValueRenderer to handle Null values. If you add the special value "<Null>" to your renderer and your database supports Nulls, then features where Field = Null will be drawn with the "<Null>" symbol.

The "<Null>" symbol may also be used in table join situations. With joins that keep unmatched records, ArcMap inserts artificial Nulls into the virtual join table. Features with these values will also be drawn with the "<Null>" UniqueValueRenderer symbol.
International users working with a localized version of ArcGIS should add the localized version of the string "<Null>" to get the special behaviors described above.
See the associated Example to see how to scan a feature class for unique values and then add them to a UniqueValueRenderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addValue in interface IUniqueValueRenderer
Parameters:
value - The value (in)
heading - The heading (in)
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.

removeValue

public void removeValue(String value)
                 throws IOException,
                        AutomationException
Removes a value from the renderer.

Description

Removes the value at the specified index from the list of values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

removeAllValues

public void removeAllValues()
                     throws IOException,
                            AutomationException
Removes all values from the renderer.

Description

Removes all the values from the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeAllValues in interface IUniqueValueRenderer
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 IRandomColorRamp that is associated with the renderer. This property does not alter any of the renderer symbols, nor does it affect how the renderer draws features. The property is only used by the user interface framework to indicate which color scheme was used to generate the symbols for the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getColorScheme in interface IUniqueValueRenderer
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

ColorScheme is the name of the IRandomColorRamp that is associated with the IUniqueValueRenderer . This property does not set or alter any of the symbols for the values in the IUniqueValueRenderer , it is only used by the user interface to indicate which color scheme was used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLookupStyleset

public String getLookupStyleset()
                         throws IOException,
                                AutomationException
Style used for matching (user interface property only).

Description

The name of the Style shown on the LookupSymbolPropertyPage. This property is only used by the user interface framework when the 'Match to symbols in a style' layer symbology option is used. This is the name of the style containing the symbols that are matched to unique values in the data to create categories on the renderer. The logic to perform this matching is not exposed as a particular ArcObjects method or set of methods.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setLookupStyleset

public void setLookupStyleset(String name)
                       throws IOException,
                              AutomationException
Style used for matching (user interface property only).

Description

LookupStyleset is the name of a Style that is used by the IUniqueValueRenderer . This is only used by the user interface for display purposes. If you want to mimic the behavior of the user interface, you will have to open the style a database , and return its recordset and match the values in one of its name fields to the values in your IUniqueValueRenderer .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLookupStyleset in interface IUniqueValueRenderer
Parameters:
name - The name (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.

setCurrentDrawLevel

public void setCurrentDrawLevel(int rhs1)
                         throws IOException,
                                AutomationException
The current draw level, (set to -1 to draw all levels).

Remarks

This property is set by the framework at draw time to specify which symbol level the renderer is to draw. If implementing a custom renderer that implements ILevelRenderer, you can check this property in your implementation of IFeatureRenderer::Draw to know which symbol level to draw.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLevelArray

public Object getLevelArray()
                     throws IOException,
                            AutomationException
Array that contains all levels used by the symbols, (symbols without a level get a level of 0).

Remarks

This property returns an array of long integers representing all the the symbol levels of the symbols used by the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLevelArray in interface ILevelRenderer
Returns:
A Variant
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.

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.

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.

getClassCount

public int getClassCount()
                  throws IOException,
                         AutomationException
Number of classes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

esri_getClass

public String esri_getClass(int index)
                     throws IOException,
                            AutomationException
Class name.

Product Availability

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

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

getWhereClause

public String getWhereClause(int index,
                             ITable table)
                      throws IOException,
                             AutomationException
WhereClause.

Product Availability

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

Specified by:
getWhereClause in interface IRendererClasses
Parameters:
index - The index (in)
table - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRotationField

public String getRotationField()
                        throws IOException,
                               AutomationException
Rotation field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRotationField in interface IRotationRenderer
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationField

public void setRotationField(String fieldName)
                      throws IOException,
                             AutomationException
Rotation field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRotationType

public int getRotationType()
                    throws IOException,
                           AutomationException
Rotation type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRotationType in interface IRotationRenderer
Returns:
A com.esri.arcgis.carto.esriSymbolRotationType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationType

public void setRotationType(int type)
                     throws IOException,
                            AutomationException
Rotation type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setRotationType in interface IRotationRenderer
Parameters:
type - A com.esri.arcgis.carto.esriSymbolRotationType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DFlags

public int getSymbolRotation3DFlags()
                             throws IOException,
                                    AutomationException
Gets rotation flags composed of enum esriSymbolRotation3DFlags. Not just for 3D rotation.

Product Availability

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

Specified by:
getSymbolRotation3DFlags in interface IRotationRenderer2
Returns:
The pFlags
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DFlags

public void setSymbolRotation3DFlags(int pFlags)
                              throws IOException,
                                     AutomationException
Gets rotation flags composed of enum esriSymbolRotation3DFlags. Not just for 3D rotation.

Product Availability

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

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

getSymbolRotation3DFlags2

public void getSymbolRotation3DFlags2(int[] pFlagX,
                                      int[] pFlagY,
                                      int[] pFlagZ)
                               throws IOException,
                                      AutomationException
Gets one flag for each axis. Serves same purpose as SymbolRotation3DFlags (get_, put_).

Product Availability

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

Specified by:
getSymbolRotation3DFlags2 in interface IRotationRenderer2
Parameters:
pFlagX - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
pFlagY - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
pFlagZ - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DFlags2

public void setSymbolRotation3DFlags2(int flagX,
                                      int flagY,
                                      int flagZ)
                               throws IOException,
                                      AutomationException
Sets one flag for each axis. For axis which is not to be rotated, set to esriSymbolRotation3DNone. Serves same purpose as SymbolRotation3DFlags (get_, put_).

Product Availability

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

Specified by:
setSymbolRotation3DFlags2 in interface IRotationRenderer2
Parameters:
flagX - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
flagY - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
flagZ - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DRotationTypeZ

public int getSymbolRotation3DRotationTypeZ()
                                     throws IOException,
                                            AutomationException
Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).

Product Availability

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

Specified by:
getSymbolRotation3DRotationTypeZ in interface IRotationRenderer2
Returns:
A com.esri.arcgis.carto.esriSymbolRotationType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DRotationTypeZ

public void setSymbolRotation3DRotationTypeZ(int pType)
                                      throws IOException,
                                             AutomationException
Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).

Product Availability

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

Specified by:
setSymbolRotation3DRotationTypeZ in interface IRotationRenderer2
Parameters:
pType - A com.esri.arcgis.carto.esriSymbolRotationType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DExpressions

public void getSymbolRotation3DExpressions(String[] pExpressionX,
                                           String[] pExpressionY,
                                           String[] pExpressionZ)
                                    throws IOException,
                                           AutomationException
Gets expressions for rotation about each axis. In case of non-3D rotation, Z axis is used.

Product Availability

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

Specified by:
getSymbolRotation3DExpressions in interface IRotationRenderer2
Parameters:
pExpressionX - The pExpressionX (out: use single element array)
pExpressionY - The pExpressionY (out: use single element array)
pExpressionZ - The pExpressionZ (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DExpressions

public void setSymbolRotation3DExpressions(String expressionX,
                                           String expressionY,
                                           String expressionZ)
                                    throws IOException,
                                           AutomationException
Sets expressions for rotation about each axis. In case of non-3D rotation, Z axis is used.

Product Availability

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

Specified by:
setSymbolRotation3DExpressions in interface IRotationRenderer2
Parameters:
expressionX - The expressionX (in)
expressionY - The expressionY (in)
expressionZ - The expressionZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DRandomRanges

public void getSymbolRotation3DRandomRanges(double[] pMinRotationX,
                                            double[] pMinRotationY,
                                            double[] pMinRotationZ,
                                            double[] pMaxRotationX,
                                            double[] pMaxRotationY,
                                            double[] pMaxRotationZ)
                                     throws IOException,
                                            AutomationException
Gets rotation range for each axis (for random rotation).

Product Availability

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

Specified by:
getSymbolRotation3DRandomRanges in interface IRotationRenderer2
Parameters:
pMinRotationX - The pMinRotationX (out: use single element array)
pMinRotationY - The pMinRotationY (out: use single element array)
pMinRotationZ - The pMinRotationZ (out: use single element array)
pMaxRotationX - The pMaxRotationX (out: use single element array)
pMaxRotationY - The pMaxRotationY (out: use single element array)
pMaxRotationZ - The pMaxRotationZ (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DRandomRanges

public void setSymbolRotation3DRandomRanges(double minRotationX,
                                            double minRotationY,
                                            double minRotationZ,
                                            double maxRotationX,
                                            double maxRotationY,
                                            double maxRotationZ)
                                     throws IOException,
                                            AutomationException
Sets rotation range for each axis (for random rotation).

Product Availability

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

Specified by:
setSymbolRotation3DRandomRanges in interface IRotationRenderer2
Parameters:
minRotationX - The minRotationX (in)
minRotationY - The minRotationY (in)
minRotationZ - The minRotationZ (in)
maxRotationX - The maxRotationX (in)
maxRotationY - The maxRotationY (in)
maxRotationZ - The maxRotationZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeRendererFlags

public int getSizeRendererFlags()
                         throws IOException,
                                AutomationException
Gets sizing flags composed of enum esriSizeRendererFlags.

Product Availability

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

Specified by:
getSizeRendererFlags in interface ISizeRenderer
Returns:
The pFlags
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSizeRendererFlags

public void setSizeRendererFlags(int pFlags)
                          throws IOException,
                                 AutomationException
Gets sizing flags composed of enum esriSizeRendererFlags.

Product Availability

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

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

getSizeRendererExpression

public String getSizeRendererExpression()
                                 throws IOException,
                                        AutomationException
Gets size expression.

Product Availability

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

Specified by:
getSizeRendererExpression in interface ISizeRenderer
Returns:
The pExpression
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSizeRendererExpression

public void setSizeRendererExpression(String pExpression)
                               throws IOException,
                                      AutomationException
Gets size expression.

Product Availability

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

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

getSizeRendererRandomRange

public void getSizeRendererRandomRange(double[] pMinSize,
                                       double[] pMaxSize)
                                throws IOException,
                                       AutomationException
Gets size range for random sizing.

Product Availability

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

Specified by:
getSizeRendererRandomRange in interface ISizeRenderer
Parameters:
pMinSize - The pMinSize (out: use single element array)
pMaxSize - The pMaxSize (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSizeRendererRandomRange

public void setSizeRendererRandomRange(double minSize,
                                       double maxSize)
                                throws IOException,
                                       AutomationException
Sets size range for random sizing.

Product Availability

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

Specified by:
setSizeRendererRandomRange in interface ISizeRenderer
Parameters:
minSize - The minSize (in)
maxSize - The maxSize (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTransparencyField

public String getTransparencyField()
                            throws IOException,
                                   AutomationException
Transparency field.

Description

TransparencyField is the name of the field that contains values to be used to set the transparency of the renderer symbol(s).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTransparencyField in interface ITransparencyRenderer
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTransparencyField

public void setTransparencyField(String fieldName)
                          throws IOException,
                                 AutomationException
Transparency field.

Description

TransparencyField is the name of the field that contains values to be used to set the transparency of the symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isUsesFilter

public boolean isUsesFilter()
                     throws IOException,
                            AutomationException
Indicates if the current object draws using a filter.

Remarks

The UsesFilter property returns true when the object in question will draw with a filter. Drawing with a filter means means that an object that would normally draw as vector graphics will instead draw as raster. The UsesFilter property is particularly useful for detecting vector map layers that will be rasterized at time of print or export.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUsesFilter in interface IDisplayAdmin
Returns:
The usesFilter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

lookupSymbol

public ISymbol lookupSymbol(boolean firstPass,
                            IFeature feature)
                     throws IOException,
                            AutomationException
Returns a reference to the renderer's symbol for the input feature.

Remarks

This method hands out a reference to the symbol for a specific feature. The firstPass parameter is passed in as True on the first call of this method. This allows the renderer to internally cache the symbols for succesive calls.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
lookupSymbol in interface ILookupSymbol
Parameters:
firstPass - The firstPass (in)
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.

resetLookupSymbol

public void resetLookupSymbol(ISymbol symbol)
                       throws IOException,
                              AutomationException
Resets temporary options on the symbol (e.g. Rotation).

Remarks

This method resets modifications to marker symbol angles that may be set on the symbol reference handed to the label engine. When implementing this interface it is important to reset any marker symbol rotation changes in this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
resetLookupSymbol in interface ILookupSymbol
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.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

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

Specified by:
getMinNamespaceSupported in interface IXMLVersionSupport
Returns:
The namespaceURI
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.

lookupLegendClass

public int lookupLegendClass(IFeature feature,
                             int[] legendGroupIdx)
                      throws IOException,
                             AutomationException
Returns the legend group and the legend class indexes for the input feature.

Product Availability

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

Specified by:
lookupLegendClass in interface ILookupLegendClass
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
legendGroupIdx - The legendGroupIdx (out: use single element array)
Returns:
The legendClassIdx
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