com.esri.arcgis.carto
Class PolygonElement

java.lang.Object
  extended by com.esri.arcgis.carto.PolygonElement
All Implemented Interfaces:
IBoundsProperties, IElement, IElementEditVertices, IElementProperties, IElementProperties2, IElementProperties3, IFillShapeElement, IGraphicElement, IPolygonElement, ITransform2D, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, IPropertySupport, IXMLSerialize, Externalizable, Serializable

public class PolygonElement
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IElement, IElementProperties, IElementProperties2, IElementProperties3, IPolygonElement, IFillShapeElement, IGraphicElement, IBoundsProperties, IElementEditVertices, ITransform2D, IPropertySupport, IPersistStream, IClone, IXMLSerialize, Externalizable

The Graphic Element to display polygons.

Remarks

A PolygonElement is a type of FillShapeElement that supports polygons. Use this object when you want to create and manipulate polygon graphics on the map.

Geometry: PolygonElement accepts geometry of type esriGeometryPolygon.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
PolygonElement()
          Constructs a PolygonElement using ArcGIS Engine.
PolygonElement(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
PolygonElement thePolygonElement = (PolygonElement) obj;
 
Method Summary
 void activate(IDisplay display)
          Prepare to display graphic on screen.
 boolean applies(Object pUnk)
          Indicates if the receiver can apply the given object at any given time.
 Object apply(Object newObject)
          Applies the given property to the receiver and returns the old object.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 boolean canApply(Object pUnk)
          Indicates if the receiver can apply the given object at that particular moment.
 boolean canRotate()
          Indicates if the element can be rotated.
 void deactivate()
          ActiveView that graphics are displayed on is no longer visible.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 void draw(IDisplay display, ITrackCancel trackCancel)
          Draws the element into the given display object.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 Object getCurrent(Object pUnk)
          The object currently being used.
 Object getCustomProperty()
          Custom property.
 IGeometry getGeometry()
          Shape of the element as a geometry.
 ISelectionTracker getMoveVerticesSelectionTracker()
          Selection tracker to move points used by this element.
 String getName()
          Name of the element.
 double getReferenceScale()
          Reference scale of the element.
 ISelectionTracker getSelectionTracker()
          Selection tracker used by this element.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          Spatial reference of the container.
 IFillSymbol getSymbol()
          Fill symbol this element uses to draw itself.
 String getType()
          Type of the element.
 int hashCode()
          the hashcode for this object
 boolean hitTest(double x, double y, double tolerance)
          Indicates if the given x and y coordinates are contained by the element.
 int IElementProperties3_getAnchorPoint()
          Anchor point of the element.
 boolean isAutoTransform()
          Indicates if transform is applied to symbols and other parts of element.
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Returns TRUE when the receiver and other have the same properties.
 boolean isFixedAspectRatio()
          Indicates if the bounds has a fixed aspect ratio.
 boolean isFixedSize()
          Indicates if size is determined by some other property like the symbol.
 boolean isIdentical(IClone other)
          Returns TRUE when the receiver and other are the same object.
 boolean isLocked()
          Indicates if the element is in a read-only state.
 boolean isMovingVertices()
          Indicates if this element is moving its vertices.
 void load(IStream pstm)
          load
 void move(double dx, double dy)
          Moves dx units horizontally and dy units vertically.
 void moveVector(ILine v)
          Moves a direction and distance v.
 void queryBounds(IDisplay display, IEnvelope bounds)
          Bounds of the element taking symbology into consideration.
 void queryOutline(IDisplay display, IPolygon outline)
          Bounds of the element taking symbology into consideration.
 void readExternal(ObjectInput in)
           
 void rotate(IPoint origin, double rotationAngle)
          Rotates about the specified origin point.
 void save(IStream pstm, int fClearDirty)
          save
 void scale(IPoint origin, double sx, double sy)
          Scales about the specified origin using seperate horizonal and vertical scales.
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setAnchorPoint(int anchorPoint)
          Anchor point of the element.
 void setAutoTransform(boolean autoTransform)
          Indicates if transform is applied to symbols and other parts of element.
 void setCustomProperty(Object customProperty)
          Custom property.
 void setFixedAspectRatio(boolean flag)
          Indicates if the bounds has a fixed aspect ratio.
 void setGeometry(IGeometry pGeometry)
          Shape of the element as a geometry.
 void setLocked(boolean pLocked)
          Indicates if the element is in a read-only state.
 void setMovingVertices(boolean flag)
          Indicates if this element is moving its vertices.
 void setName(String name)
          Name of the element.
 void setReferenceScale(double referenceScale)
          Reference scale of the element.
 void setSpatialReferenceByRef(ISpatialReference spatialRef)
          Spatial reference of the container.
 void setSymbol(IFillSymbol symbol)
          Fill symbol this element uses to draw itself.
 void setType(String name)
          Type of the element.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 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

PolygonElement

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

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

PolygonElement

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

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

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

getGeometry

public IGeometry getGeometry()
                      throws IOException,
                             AutomationException
Shape of the element as a geometry.

Description

Geometry is the shape assigned to this element.

Remarks

The Geometry property will return the shape associated with the element as an IGeometry. The geometry type of objects implementing IElement varies widely depending on what the element does. The remarks of each object implementing IElement will list the geometry types that are valid for that specific element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGeometry in interface IElement
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.

setGeometry

public void setGeometry(IGeometry pGeometry)
                 throws IOException,
                        AutomationException
Shape of the element as a geometry.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setGeometry in interface IElement
Parameters:
pGeometry - 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.

queryBounds

public void queryBounds(IDisplay display,
                        IEnvelope bounds)
                 throws IOException,
                        AutomationException
Bounds of the element taking symbology into consideration.

Remarks

QueryBounds returns an envelope representing the boundary of the element. A valid envelope object must be passed in to the method along with the current display. The method then updates the envelope object based on the minimum bounding rectangle of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryBounds in interface IElement
Parameters:
display - A reference to a com.esri.arcgis.display.IDisplay (in)
bounds - 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.

queryOutline

public void queryOutline(IDisplay display,
                         IPolygon outline)
                  throws IOException,
                         AutomationException
Bounds of the element taking symbology into consideration.

Remarks

QueryOutline returns a polygon representing the outline of the element. A valid polygon object must be passed in to the method along with the current display. The method then updates the polygon object. The results for point and line elements will be similar to the minimum bounding envelope returned by QueryBounds, while the results for polygon elements while be the actual outline of the element (not the bounding envelope).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryOutline in interface IElement
Parameters:
display - A reference to a com.esri.arcgis.display.IDisplay (in)
outline - A reference to a com.esri.arcgis.geometry.IPolygon (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionTracker

public ISelectionTracker getSelectionTracker()
                                      throws IOException,
                                             AutomationException
Selection tracker used by this element.

Remarks

SelectionTracker returns the ISelectionTracker used by the element. Elements have associated selection tracker objects which provide reshaping functionality. For example, in ArcMap after adding an element, the element is drawn with a selection tracker around it and users can then drag one of the selection handles on the selection tracker to modify the element's shape.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

hitTest

public boolean hitTest(double x,
                       double y,
                       double tolerance)
                throws IOException,
                       AutomationException
Indicates if the given x and y coordinates are contained by the element.

Remarks

HitTest returns a boolean value indicating whether or not the current element is intersected by the specified coordinate pair and tolerance distance. For instance, if we have a line element selected, the HitTest is determining whether that line element is within the specified tolerance from the given X and Y. A value of TRUE is returned if the element is within the tolerance, while FALSE is returned if it is not.

The X,Y, and tolerance values should be specified in map units.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hitTest in interface IElement
Parameters:
x - The x (in)
y - The y (in)
tolerance - The tolerance (in)
Returns:
The hit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws the element into the given display object.

Remarks

Draw draws the element to the screen display specified. An ITrackerCancel object can be passed in to enable cancelation of the draw wit the ESC key.
Symbolization of the element during the draw is based on the symbol that is stored with it. For instance, Marker Elements are displayed based on the Symbol property on the IMarkerElement interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IElement
Parameters:
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.

activate

public void activate(IDisplay display)
              throws IOException,
                     AutomationException
Prepare to display graphic on screen.

Remarks

Activate prepares the screen display for output and orients the scale of the element to the specified display. Activate should be executed with the current display before execute the IElement::Draw method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deactivate

public void deactivate()
                throws IOException,
                       AutomationException
ActiveView that graphics are displayed on is no longer visible.

Remarks

Deactivate means the screen display associated with element output is no longer visible.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isLocked

public boolean isLocked()
                 throws IOException,
                        AutomationException
Indicates if the element is in a read-only state.

Remarks

The Locked property indicates whether the specified element can be updated. This property can be set to TRUE to stop users from modifying a particular element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isLocked in interface IElement
Returns:
The pLocked
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLocked

public void setLocked(boolean pLocked)
               throws IOException,
                      AutomationException
Indicates if the element is in a read-only state.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the element.

Remarks

The Name property is used to store a name associated with the custom property assigned to the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setName

public void setName(String name)
             throws IOException,
                    AutomationException
Name of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getType

public String getType()
               throws IOException,
                      AutomationException
Type of the element.

Remarks

Type is a string used to specify the type of property that has been assigned to the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setType

public void setType(String name)
             throws IOException,
                    AutomationException
Type of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isAutoTransform

public boolean isAutoTransform()
                        throws IOException,
                               AutomationException
Indicates if transform is applied to symbols and other parts of element. False = only apply transform to geometry.

Remarks

AutoTransform is a boolean values that indicates whether internal setings should be transformed along with the elements's geometry, when a transform is applied via ITransform2D. For instance, if I have a point element and I rotate it around a central location (the anchor point of the rotation being different from the point element iself), then the AutoTransform property is used to determine whether the orientation of the symbol associated to the element should also be rotated by the same amount.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isAutoTransform in interface IElementProperties
Specified by:
isAutoTransform in interface IElementProperties2
Specified by:
isAutoTransform in interface IElementProperties3
Returns:
The autoTransform
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoTransform

public void setAutoTransform(boolean autoTransform)
                      throws IOException,
                             AutomationException
Indicates if transform is applied to symbols and other parts of element. False = only apply transform to geometry.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAutoTransform in interface IElementProperties
Specified by:
setAutoTransform in interface IElementProperties2
Specified by:
setAutoTransform in interface IElementProperties3
Parameters:
autoTransform - The autoTransform (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

public Object getCustomProperty()
                         throws IOException,
                                AutomationException
Custom property.

Remarks

CustomProperty is a place for developers to attach custom objects to an element. Previous versions of the software required that the specified variant be of type VT_UNKNOWN, i.e. a reference to an object, but that requirement has since been removed. Now, the CustomProperty can also be a simple type like an integer, double, boolean (VARIANT_BOOL) or a string (BSTR).

When this property is an object reference, the object must implement a persistence interface, so if you write a custom object it must implement IPersistStream or IPersistVariant. As an alternative to writing a custom object, you can use a PropertySet or XMLPropertySet, since they both already implement IPersistStream.

CustomProperty is never used by the core ArcObjects for its own elements, but the core software will expect to find an IPersistStream or IPersistVariant interface when the this property is an object reference, and it is part of an element being retrieved from or stored in an .mxd file.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCustomProperty in interface IElementProperties
Specified by:
getCustomProperty in interface IElementProperties2
Specified by:
getCustomProperty in interface IElementProperties3
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomProperty

public void setCustomProperty(Object customProperty)
                       throws IOException,
                              AutomationException
Custom property.

Remarks

CustomProperty is a place for developers to attach custom objects to an element. Previous versions of the software required that the specified variant be of type VT_UNKNOWN, i.e. a reference to an object, but that requirement has since been removed. Now, the CustomProperty can also be a simple type like an integer, double, boolean (VARIANT_BOOL) or a string (BSTR).

When this property is an object reference, the object must implement a persistence interface, so if you write a custom object it must implement IPersistStream or IPersistVariant. As an alternative to writing a custom object, you can use a PropertySet or XMLPropertySet, since they both already implement IPersistStream.

CustomProperty is never used by the core ArcObjects for its own elements, but the core software will expect to find an IPersistStream or IPersistVariant interface when the this property is an object reference, and it is part of an element being retrieved from or stored in an .mxd file.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCustomProperty in interface IElementProperties
Specified by:
setCustomProperty in interface IElementProperties2
Specified by:
setCustomProperty in interface IElementProperties3
Parameters:
customProperty - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canRotate

public boolean canRotate()
                  throws IOException,
                         AutomationException
Indicates if the element can be rotated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canRotate in interface IElementProperties2
Specified by:
canRotate in interface IElementProperties3
Returns:
The canRotate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReferenceScale

public double getReferenceScale()
                         throws IOException,
                                AutomationException
Reference scale of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getReferenceScale in interface IElementProperties2
Specified by:
getReferenceScale in interface IElementProperties3
Returns:
The referenceScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setReferenceScale

public void setReferenceScale(double referenceScale)
                       throws IOException,
                              AutomationException
Reference scale of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setReferenceScale in interface IElementProperties2
Specified by:
setReferenceScale in interface IElementProperties3
Parameters:
referenceScale - The referenceScale (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

IElementProperties3_getAnchorPoint

public int IElementProperties3_getAnchorPoint()
                                       throws IOException,
                                              AutomationException
Anchor point of the element.

Product Availability

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

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

setAnchorPoint

public void setAnchorPoint(int anchorPoint)
                    throws IOException,
                           AutomationException
Anchor point of the element.

Product Availability

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

Specified by:
setAnchorPoint in interface IElementProperties3
Parameters:
anchorPoint - A com.esri.arcgis.carto.esriAnchorPointEnum constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
Spatial reference of the container.

Product Availability

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

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

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialRef)
                              throws IOException,
                                     AutomationException
Spatial reference of the container.

Product Availability

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

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

getSymbol

public IFillSymbol getSymbol()
                      throws IOException,
                             AutomationException
Fill symbol this element uses to draw itself.

Remarks

The Symbol property returns or sets the fill symbol used by the element to draw itself.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSymbol

public void setSymbol(IFillSymbol symbol)
               throws IOException,
                      AutomationException
Fill symbol this element uses to draw itself.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isFixedAspectRatio

public boolean isFixedAspectRatio()
                           throws IOException,
                                  AutomationException
Indicates if the bounds has a fixed aspect ratio.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFixedAspectRatio

public void setFixedAspectRatio(boolean flag)
                         throws IOException,
                                AutomationException
Indicates if the bounds has a fixed aspect ratio.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isFixedSize

public boolean isFixedSize()
                    throws IOException,
                           AutomationException
Indicates if size is determined by some other property like the symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMoveVerticesSelectionTracker

public ISelectionTracker getMoveVerticesSelectionTracker()
                                                  throws IOException,
                                                         AutomationException
Selection tracker to move points used by this element.

Remarks

GetMoveVerticesSelection returns the ISelectionTracker being used to edit the vertices of the graphic element. This method is unaffected by the MovingVertices flag. The selection tracker returned will always be the appropriate one to use for moving the vertex points of this object. The MovingVertices property is independent and just tells get_SelectionTracker to either hand out the normal selection tracker or forward the call on to GetMoveVerticesSelectionTracker.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isMovingVertices

public boolean isMovingVertices()
                         throws IOException,
                                AutomationException
Indicates if this element is moving its vertices.

Remarks

This flag controls what type of selection tracker is used when one is requested from this object. If True , it will be a vertex point type. If False , it will be an object envelope type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMovingVertices

public void setMovingVertices(boolean flag)
                       throws IOException,
                              AutomationException
Indicates if this element is moving its vertices.

Remarks

This flag controls what type of selection tracker is used when one is requested from this object. If True , it will be a vertex point type. If False , it will be an object envelope type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

move

public void move(double dx,
                 double dy)
          throws IOException,
                 AutomationException
Moves dx units horizontally and dy units vertically.

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis. Only changes the position of the Geometry without altering any of the other characteristics. Move is a spatial offset.

Remarks

Transform2D Move Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
move in interface ITransform2D
Parameters:
dx - The dx (in)
dy - The dy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVector

public void moveVector(ILine v)
                throws IOException,
                       AutomationException
Moves a direction and distance v. v can be in a different spatial reference than the geometry being moved.

Description

Moves the Geometry dX units along the X-Axis and dY units along the Y-Axis, where dX and dY are calculated from the input vector Line. Only the Length and Angle of the vector affect the transformation. The location of the vector does not change the transformation. Only changes the position of the Geometry without altering any of the other characteristics. Move is a spatial offset.

Remarks

Transform2D MoveVector Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

scale

public void scale(IPoint origin,
                  double sx,
                  double sy)
           throws IOException,
                  AutomationException
Scales about the specified origin using seperate horizonal and vertical scales. The origin point can be in a different spatial reference than the geometry being scaled.

Description

Stretches the Geometry a factor of sX along the X-Axis and a factor of sY along the Y-Axis (where sX is the ratio of Old Width to New Width, and sY is the ratio of Old Height to New Height). The Origin point is the reference Point from which the transformation is performed (Regardless of the location of the Origin point, the Geometry resulting from the transformation is the same, except for a positional offset). The Origin is the only point in the transformation guaranted to remain in the same location after the transformation is complete.

Remarks

Note: Caution must be taken when scaling a CircularArc or a geometry containing CircularArc segments. Unless Abs(ScaleX) = Abs(ScaleY), the resulting CircularArcs will not retain the characteristics of the original geometry (since they remain CircularArcs).

Scale Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
scale in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
sx - The sx (in)
sy - The sy (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

public void rotate(IPoint origin,
                   double rotationAngle)
            throws IOException,
                   AutomationException
Rotates about the specified origin point. The angle is in radians. The origin can be in a different spatial reference than the geometry being rotated.

Description

Rotate performs an angular transform (rotation) on the Geometry. The Origin is the only point in the transformation guaranteed to remain in the same location after the transformation is performed. Regardless of the Origin, the transformed Geometry is the same, except for a positional offset. The RotationAngle is measured in radians.

Remarks

An Envelope cannot be Rotated.

Transform2D Rotate Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotate in interface ITransform2D
Parameters:
origin - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotationAngle - The rotationAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform

public void transform(int direction,
                      ITransformation transformation)
               throws IOException,
                      AutomationException
Applies an arbitrary transformation. In particular, the transformation parameter can be either an affine transformation or a geographic transformation (datum shift).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transform in interface ITransform2D
Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applies

public boolean applies(Object pUnk)
                throws IOException,
                       AutomationException
Indicates if the receiver can apply the given object at any given time.

Remarks

Applies indicates whether the specified object can be applied to the current object. For instance, we might want to ask our CircleElement whether a Color object applies to it. If it does, then we can use the Apply method to update our CircleElement with the new Color object.

CanApply differs from Applies in that it is a check for the editability of the object at any given time. Applies indicates whether an object can be applied at all, while CanApply indicates whether an object can be applied at that particular moment.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
applies in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
The applies
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canApply

public boolean canApply(Object pUnk)
                 throws IOException,
                        AutomationException
Indicates if the receiver can apply the given object at that particular moment.

Remarks

CanApply indicates whether the specified object can be applied to the current object. For instance, we might want to ask our CircleElement whether a Color object applies to it. If it does, then we can use the Apply method to update our CircleElement with the new Color object.

CanApply differs from Applies in that it is a check for the editability of the object at any given time. Applies indicates whether an object can be applied at all, while CanApply indicates whether an object can be applied at that particular moment.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canApply in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
The canApply
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrent

public Object getCurrent(Object pUnk)
                  throws IOException,
                         AutomationException
The object currently being used.

Product Availability

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

Specified by:
getCurrent in interface IPropertySupport
Parameters:
pUnk - A reference to another Object (IUnknown) (in)
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

apply

public Object apply(Object newObject)
             throws IOException,
                    AutomationException
Applies the given property to the receiver and returns the old object.

Remarks

Apply will apply the specified object to the current object. For instance, I might apply a Color object to my RectangleElement. When I execute Apply, the object I replace (the old object) is returned.

Use the Applies and CanApply methods to determine if an Apply can be used on an object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
apply in interface IPropertySupport
Parameters:
newObject - A reference to another Object (IUnknown) (in)
Returns:
A reference to another Object (IUnknown)
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.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

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

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Returns TRUE when the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Returns TRUE when the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
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.

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