com.esri.arcgis.display
Class BasicFillSymbol

java.lang.Object
  extended by com.esri.arcgis.display.BasicFillSymbol
All Implemented Interfaces:
IBasicFillSymbol, IBasicSymbol, IDrawingOutline, IGeometricEffect, IGeometricEffects, IMapLevel, com.esri.arcgis.interop.RemoteObjRef, IDocumentVersionSupportGEN, IPersist, IPersistStream, ISupportErrorInfo, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class BasicFillSymbol
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IBasicSymbol, IBasicFillSymbol, IMapLevel, IGeometricEffects, IGeometricEffect, IDrawingOutline, IPersist, IPersistStream, ISupportErrorInfo, IDocumentVersionSupportGEN, IXMLSerialize, IXMLVersionSupport, Externalizable

Basic fill symbol object.

Description

The BasicFillSymbol is used to create a basic fill symbol comprised of a FillPattern.

Remarks

Use IFillPattern interface along with IGraphicAttributes interface to define a new fill pattern and assign it a basic fill symbol.

There are 3 different types of Fill Patterns available for defining a basic fill symbol: GradientPattern, LinePattern and SolidColorPattern.

A SolidColorPattern has the following GraphicAttributes:

A LinePattern has the following GraphicAttributes:

A Gradient has the following GraphicAttributes:

Product Availability

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

See Also:
Serialized Form

Constructor Summary
BasicFillSymbol()
          Constructs a BasicFillSymbol using ArcGIS Engine.
BasicFillSymbol(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
BasicFillSymbol theBasicFillSymbol = (BasicFillSymbol) obj;
 
Method Summary
 void add(IGeometricEffect geomEffect)
          Adds a new geometric effect.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 void draw(IOutputContext context, IGeometry geometry, IEnvelope envelope)
          Draws the basic symbol.
 boolean equals(Object o)
          Compare this object with another
 IGeometry getAllOutlineParts(IGeometry geometry, int type, int option, double buffer, IEnvelope clipEnvelope)
          Returns the entire drawing outline of a drawing rule.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 int getCount()
          Number of geometric effects.
 IGeometricEffect getElement(int index)
          The geometric effect at the specified position.
 IFillPattern getFillPattern()
          Fill pattern.
 int getMapLevel()
          Current map level for drawing multi-level symbols.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 int getOutputType(int inputType)
          The output type of the geometric effect.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 boolean hitTest(IGeometry geometry, IPoint point, double tolerance)
          Tests if a point is located on the drawing outline.
 void insert(int index, IGeometricEffect geomEffect)
          Inserts a new geometric effect.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void isDirty()
          isDirty
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 void load(IStream pstm)
          load
 IGeometry nextGeometry()
          Accesses the next geometry generated by th effect.
 IGeometry nextOutlinePart()
          Retrieves the next part of the outline.
 void readExternal(ObjectInput in)
           
 void remove(int index)
          Removes a geometric effect.
 void removeAll()
          Removes all geometric effects.
 void reset(IGeometry geometry)
          Resets the collection of generated geometries.
 void reset(IGeometry geometry, int type, int option, double buffer, IEnvelope clipEnvelope)
          Resets the outline part enumeration.
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setFillPatternByRef(IFillPattern pattern)
          Fill pattern.
 void setMapLevel(int mapLevel)
          Current map level for drawing multi-level symbols.
 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

BasicFillSymbol

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

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

BasicFillSymbol

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

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

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

draw

public void draw(IOutputContext context,
                 IGeometry geometry,
                 IEnvelope envelope)
          throws IOException,
                 AutomationException
Draws the basic symbol.

Product Availability

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

Specified by:
draw in interface IBasicSymbol
Parameters:
context - A reference to a com.esri.arcgis.display.IOutputContext (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
envelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFillPattern

public IFillPattern getFillPattern()
                            throws IOException,
                                   AutomationException
Fill pattern.

Remarks

Use IFillPattern interface to change FillPattern property of a BasicFillSymbol object.

Product Availability

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

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

setFillPatternByRef

public void setFillPatternByRef(IFillPattern pattern)
                         throws IOException,
                                AutomationException
Fill pattern.

Product Availability

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

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

getMapLevel

public int getMapLevel()
                throws IOException,
                       AutomationException
Current map level for drawing multi-level symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapLevel in interface IMapLevel
Returns:
The mapLevel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMapLevel

public void setMapLevel(int mapLevel)
                 throws IOException,
                        AutomationException
Current map level for drawing multi-level symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getCount

public int getCount()
             throws IOException,
                    AutomationException
Number of geometric effects.

Product Availability

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

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

getElement

public IGeometricEffect getElement(int index)
                            throws IOException,
                                   AutomationException
The geometric effect at the specified position.

Product Availability

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

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

insert

public void insert(int index,
                   IGeometricEffect geomEffect)
            throws IOException,
                   AutomationException
Inserts a new geometric effect.

Product Availability

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

Specified by:
insert in interface IGeometricEffects
Parameters:
index - The index (in)
geomEffect - A reference to a com.esri.arcgis.display.IGeometricEffect (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

add

public void add(IGeometricEffect geomEffect)
         throws IOException,
                AutomationException
Adds a new geometric effect.

Product Availability

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

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

remove

public void remove(int index)
            throws IOException,
                   AutomationException
Removes a geometric effect.

Product Availability

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

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

removeAll

public void removeAll()
               throws IOException,
                      AutomationException
Removes all geometric effects.

Product Availability

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

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

getOutputType

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

Product Availability

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

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

reset

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

Product Availability

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

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

nextGeometry

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

Product Availability

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

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

hitTest

public boolean hitTest(IGeometry geometry,
                       IPoint point,
                       double tolerance)
                throws IOException,
                       AutomationException
Tests if a point is located on the drawing outline.

Product Availability

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

Specified by:
hitTest in interface IDrawingOutline
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
tolerance - The tolerance (in)
Returns:
The hit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllOutlineParts

public IGeometry getAllOutlineParts(IGeometry geometry,
                                    int type,
                                    int option,
                                    double buffer,
                                    IEnvelope clipEnvelope)
                             throws IOException,
                                    AutomationException
Returns the entire drawing outline of a drawing rule.

Product Availability

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

Specified by:
getAllOutlineParts in interface IDrawingOutline
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
type - A com.esri.arcgis.display.esriOutlineType constant (in)
option - A com.esri.arcgis.display.esriOutlineOption constant (in)
buffer - The buffer (in)
clipEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset(IGeometry geometry,
                  int type,
                  int option,
                  double buffer,
                  IEnvelope clipEnvelope)
           throws IOException,
                  AutomationException
Resets the outline part enumeration.

Product Availability

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

Specified by:
reset in interface IDrawingOutline
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
type - A com.esri.arcgis.display.esriOutlineType constant (in)
option - A com.esri.arcgis.display.esriOutlineOption constant (in)
buffer - The buffer (in)
clipEnvelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

nextOutlinePart

public IGeometry nextOutlinePart()
                          throws IOException,
                                 AutomationException
Retrieves the next part of the outline.

Product Availability

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

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

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.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
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.

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