com.esri.arcgis.carto
Class InkGraphic

java.lang.Object
  extended by com.esri.arcgis.carto.InkGraphic
All Implemented Interfaces:
IBoundsProperties, IElement, IElementProperties, IElementProperties2, IElementProperties3, IElementShutdown, IGraphicElement, IInkGraphic, ITransform2D, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, IPropertySupport, ISupportErrorInfo, Externalizable, Serializable

public class InkGraphic
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IInkGraphic, IBoundsProperties, IElement, IElementProperties, IElementProperties2, IElementProperties3, IElementShutdown, IGraphicElement, ITransform2D, IClone, IPersist, IPersistStream, IPropertySupport, ISupportErrorInfo, Externalizable

Ink Graphic Object.

Remarks

The InkGraphic Element is used for TabletPC support and is the element used to persist and draw ink graphics. An InkGraphic implements the IElement interface, and you can use the IInkGraphic interface to get ink-specific properties for the element. Ink graphics are one of two types-Pen Ink or Highlight Ink. You can get the InkType using the IInkGraphic interface. The IInkGraphic interface exposes the stroke geometry as polyline geometry.

Using the IInkGraphicTool interface, you can control the properties of the Pen tool, such as width, tip type, and color of the ink that is drawn, or you can create your own Pen tool.

Geometry: InkGraphic accepts geometry of type esriGeometryPolyline. The Polyline is used as the geometry with which the symbol is drawn.

InkGraphic does not implement the following properties and will return E_NOTIMPL for them:

IElementProperties::AutoTransform
IElementProperties2::AutoTransform
IElementProperties3::AutoTransform
IElementProperties::CustomProperty
IElementProperties2::CustomProperty
IElementProperties3::CustomProperty

Product Availability

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

Supported Platforms

Windows

See Also:
Serialized Form

Constructor Summary
InkGraphic()
          Constructs a InkGraphic using ArcGIS Engine.
InkGraphic(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
InkGraphic theInkGraphic = (InkGraphic) 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 create(Object pDisplay, Object pInk)
          Creates a new element.
 void deactivate()
          ActiveView that graphics are displayed on is no longer visible.
 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.
 int getColor()
          The current color of the element.
 Object getCurrent(Object pUnk)
          The object currently being used.
 Object getCustomProperty()
          Custom property.
 IGeometry getGeometry()
          Shape of the element as a geometry.
 Object getInk()
          The Ink used by the Graphic Element.
 Object getInkGeometry()
          A copy of the geometry described by the element.
 int getInkType()
          The Ink type of the graphic.
 String getName()
          Name of the element.
 double getReferenceScale()
          Reference scale of the element.
 Object getRenderer()
          The Render used by the Graphic Element.
 ISelectionTracker getSelectionTracker()
          Selection tracker used by this element.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          Spatial reference of the container.
 Object getTag()
          The user defined property associated with this element.
 int getTipType()
          The current tip type of the element.
 String getType()
          Type of the element.
 int getWidth()
          The current width 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.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 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.
 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)
           
 String recognize()
          The text produced by the text recognizer for this element.
 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 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 setColor(int pColor)
          The current color of the 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 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 setTag(Object pTag)
          The user defined property associated with this element.
 void setTipType(int pTipType)
          The current tip type of the element.
 void setType(String name)
          Type of the element.
 void setWidth(int pWidth)
          The current width of the element.
 void shutdown()
          Called when the element is about to be deleted.
 void transform(int direction, ITransformation transformation)
          Applies an arbitrary transformation.
 void updateRecognitionResult(String newResultText)
          Updates the recognition results previously obtained by Recognize.
 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

InkGraphic

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

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

InkGraphic

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

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

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

create

public void create(Object pDisplay,
                   Object pInk)
            throws IOException,
                   AutomationException
Creates a new element.

Product Availability

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

Specified by:
create in interface IInkGraphic
Parameters:
pDisplay - A reference to another Object (IUnknown) (in)
pInk - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInk

public Object getInk()
              throws IOException,
                     AutomationException
The Ink used by the Graphic Element.

Product Availability

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

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

getRenderer

public Object getRenderer()
                   throws IOException,
                          AutomationException
The Render used by the Graphic Element.

Product Availability

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

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

recognize

public String recognize()
                 throws IOException,
                        AutomationException
The text produced by the text recognizer for this element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setTag

public void setTag(Object pTag)
            throws IOException,
                   AutomationException
The user defined property associated with this element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTag in interface IInkGraphic
Parameters:
pTag - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTag

public Object getTag()
              throws IOException,
                     AutomationException
The user defined property associated with this element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getColor

public int getColor()
             throws IOException,
                    AutomationException
The current color of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getColor in interface IInkGraphic
Returns:
The pColor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColor

public void setColor(int pColor)
              throws IOException,
                     AutomationException
The current color of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setWidth

public void setWidth(int pWidth)
              throws IOException,
                     AutomationException
The current width of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWidth

public int getWidth()
             throws IOException,
                    AutomationException
The current width of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWidth in interface IInkGraphic
Returns:
The pWidth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInkGeometry

public Object getInkGeometry()
                      throws IOException,
                             AutomationException
A copy of the geometry described by the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getInkType

public int getInkType()
               throws IOException,
                      AutomationException
The Ink type of the graphic.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setTipType

public void setTipType(int pTipType)
                throws IOException,
                       AutomationException
The current tip type of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTipType in interface IInkGraphic
Parameters:
pTipType - A com.esri.arcgis.carto.ESRITPCStylusType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTipType

public int getTipType()
               throws IOException,
                      AutomationException
The current tip type of the element.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

updateRecognitionResult

public void updateRecognitionResult(String newResultText)
                             throws IOException,
                                    AutomationException
Updates the recognition results previously obtained by Recognize.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateRecognitionResult in interface IInkGraphic
Parameters:
newResultText - The newResultText (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.

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.

shutdown

public void shutdown()
              throws IOException,
                     AutomationException
Called when the element is about to be deleted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
shutdown in interface IElementShutdown
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.

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.

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.

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.

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.

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