com.esri.arcgis.analyst3d
Class Marker3DSymbol

java.lang.Object
  extended by com.esri.arcgis.analyst3d.Marker3DSymbol
All Implemented Interfaces:
IBillboardDisplay, IMarker3DPlacement, IMarker3DSymbol, IDisplayName, IMapLevel, IMarkerSymbol, ISymbol, ISymbol3D, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, IPropertySupport, Externalizable, Serializable

public class Marker3DSymbol
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IMarker3DSymbol, IMarker3DPlacement, IMapLevel, ISymbol, IPropertySupport, IPersistStream, IPersist, IClone, IDisplayName, ISymbol3D, IBillboardDisplay, Externalizable

3D Marker Symbol component.

Remarks

Use the Marker3DSymbol coclass to symboloize point data with 3D marker symbols. The Marker3DSymbol determines the style and properties of a 3D marker symbol, whose geometry can be imported by using Import3DFile coclass from existing OpenFlight (*.flt), 3DS (*.3ds), or Virtual Reality Markup Language (VRML 2.0, *.wrl) models at ArcGIS 9.0.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
Marker3DSymbol()
          Constructs a Marker3DSymbol using ArcGIS Engine.
Marker3DSymbol(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
Marker3DSymbol theMarker3DSymbol = (Marker3DSymbol) obj;
 
Method Summary
 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 applyToPoint(IPoint inShape, IGeometry[] outShape, double enforcedZ, double unitFactor, double zScale)
          Applies symbol construction to original shape.
 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.
 void createFromFile(String fileName)
          Imports the symbol definition.
 void draw(IGeometry geometry)
          Draws the specified shape.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 double getAngle()
          Marker symbol angle.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IColor getColor()
          Marker symbol color.
 Object getCurrent(Object pUnk)
          The object currently being used.
 double getDepth()
          The depth value.
 int getMapLevel()
          Current map level for drawing multi-level symbols.
 int getMaterialCount()
          Number of materials present.
 String getNameString()
          The display name of an object.
 IVector3D getNormalizedOriginOffset()
          Normalized offset vector defining the origin within the MBB relative to lower-left corner.
 int getROP2()
          Raster operation code for pixel drawing.
 IGeometry getShape()
          Marker shape geometry.
 double getSize()
          Marker symbol size.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 IPicture getThumbnail()
          The symbol thumbnail for 2D representation.
 int getUnits()
          The size units.
 double getWidth()
          The width value.
 double getXOffset()
          Symbol X-axis offset from point location.
 double getYOffset()
          Symbol Y-axis offset from point location.
 double getZOffset()
          The Z offset value.
 int hashCode()
          the hashcode for this object
 boolean isBillboardDisplay()
          Indicates whether symbol is billboarded.
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isMaintainAspectRatio()
          Indicates if the marker maintains its dimensions based on size.
 boolean isRestricted()
          Indicates if the marker restricts access to internal shape.
 boolean isUseMaterialDraping()
          Indicates if the marker uses material property for draping.
 void load(IStream pstm)
          load
 void queryBoundary(int hDC, ITransformation displayTransform, IGeometry geometry, IPolygon boundary)
          Fills an existing polygon with the boundary of the specified symbol.
 void queryRotationAngles(double[] xAngle, double[] yAngle, double[] zAngle)
          Gets the rotation angles for each axis.
 void readExternal(ObjectInput in)
           
 void resetDC()
          Restores DC to original state.
 void restrictAccessToShape()
          Restricts all further access to internal shape.
 void save(IStream pstm, int fClearDirty)
          save
 void setAngle(double angle)
          Marker symbol angle.
 void setBillboardDisplay(boolean pBillboard)
          Indicates whether symbol is billboarded.
 void setColor(IColor color)
          Marker symbol color.
 void setDepth(double depth)
          The depth value.
 void setMaintainAspectRatio(boolean bAspectRatio)
          Indicates if the marker maintains its dimensions based on size.
 void setMapLevel(int mapLevel)
          Current map level for drawing multi-level symbols.
 void setNormalizedOriginOffsetByRef(IVector3D offset)
          Normalized offset vector defining the origin within the MBB relative to lower-left corner.
 void setROP2(int drawMode)
          Raster operation code for pixel drawing.
 void setRotationAngles(double xAngle, double yAngle, double zAngle)
          Sets the rotation angles for each axis.
 void setShapeByRef(IGeometry shape)
          Marker shape geometry.
 void setSize(double size)
          Marker symbol size.
 void setThumbnailByRef(IPicture thumbnail)
          The symbol thumbnail for 2D representation.
 void setUnits(int unitsCode)
          The size units.
 void setupDC(int hDC, ITransformation transformation)
          Prepares the DC for drawing the symbol.
 void setUseMaterialDraping(boolean useDraping)
          Indicates if the marker uses material property for draping.
 void setWidth(double width)
          The width value.
 void setXOffset(double xOffset)
          Symbol X-axis offset from point location.
 void setYOffset(double yOffset)
          Symbol Y-axis offset from point location.
 void setZOffset(double zOffset)
          The Z offset value.
 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

Marker3DSymbol

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

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

Marker3DSymbol

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

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

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

setShapeByRef

public void setShapeByRef(IGeometry shape)
                   throws IOException,
                          AutomationException
Marker shape geometry.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShapeByRef in interface IMarker3DSymbol
Parameters:
shape - 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.

getShape

public IGeometry getShape()
                   throws IOException,
                          AutomationException
Marker shape geometry.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
getShape in interface IMarker3DPlacement
Specified by:
getShape in interface IMarker3DSymbol
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.

isUseMaterialDraping

public boolean isUseMaterialDraping()
                             throws IOException,
                                    AutomationException
Indicates if the marker uses material property for draping.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseMaterialDraping in interface IMarker3DSymbol
Returns:
The useDraping
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseMaterialDraping

public void setUseMaterialDraping(boolean useDraping)
                           throws IOException,
                                  AutomationException
Indicates if the marker uses material property for draping.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

getMaterialCount

public int getMaterialCount()
                     throws IOException,
                            AutomationException
Number of materials present.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaterialCount in interface IMarker3DSymbol
Returns:
The cMaterials
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFromFile

public void createFromFile(String fileName)
                    throws IOException,
                           AutomationException
Imports the symbol definition.

Description

Pass in the full path to the file. URLs are also supported as the file path string.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

getThumbnail

public IPicture getThumbnail()
                      throws IOException,
                             AutomationException
The symbol thumbnail for 2D representation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getThumbnail in interface IMarker3DSymbol
Returns:
A reference to a com.esri.arcgis.support.ms.stdole.IPicture
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setThumbnailByRef

public void setThumbnailByRef(IPicture thumbnail)
                       throws IOException,
                              AutomationException
The symbol thumbnail for 2D representation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setThumbnailByRef in interface IMarker3DSymbol
Parameters:
thumbnail - A reference to a com.esri.arcgis.support.ms.stdole.IPicture (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

restrictAccessToShape

public void restrictAccessToShape()
                           throws IOException,
                                  AutomationException
Restricts all further access to internal shape.

Remarks

Once a marker 3D symbol's shape/geometry is set to be restricted, its geometry cannot be obtained via ArcObjects.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

isRestricted

public boolean isRestricted()
                     throws IOException,
                            AutomationException
Indicates if the marker restricts access to internal shape.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

getUnits

public int getUnits()
             throws IOException,
                    AutomationException
The size units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getUnits in interface IMarker3DPlacement
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUnits

public void setUnits(int unitsCode)
              throws IOException,
                     AutomationException
The size units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUnits in interface IMarker3DPlacement
Parameters:
unitsCode - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormalizedOriginOffset

public IVector3D getNormalizedOriginOffset()
                                    throws IOException,
                                           AutomationException
Normalized offset vector defining the origin within the MBB relative to lower-left corner.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

setNormalizedOriginOffsetByRef

public void setNormalizedOriginOffsetByRef(IVector3D offset)
                                    throws IOException,
                                           AutomationException
Normalized offset vector defining the origin within the MBB relative to lower-left corner.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

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

getZOffset

public double getZOffset()
                  throws IOException,
                         AutomationException
The Z offset value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getZOffset in interface IMarker3DPlacement
Returns:
The zOffset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZOffset

public void setZOffset(double zOffset)
                throws IOException,
                       AutomationException
The Z offset value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

applyToPoint

public void applyToPoint(IPoint inShape,
                         IGeometry[] outShape,
                         double enforcedZ,
                         double unitFactor,
                         double zScale)
                  throws IOException,
                         AutomationException
Applies symbol construction to original shape.

Description

The ApplyToPoint method is used to apply the 3D Marker symbol to a 3D point, thereby creating a georeferenced geometry for use elsewhere. Essentially, it allows you to generate a geometry using the marker symbol as a template. This can be useful, for example, when creating new features to be stored in the geodatabase. The geometry created is usually a multipatch, though it depends upon the 3D symbol being used.

This interface has been traditionally used for converting symbolized 2D feature classes into 3D multipatch feature classes. From 9.2, the Layer 3D to feature class geoprocessing tool can be used as an alternative.

Remarks

The parameters of ApplyToPoint are:

This call will fail if the symbol is protected by IMarker3DSymbol.IsRestricted property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
applyToPoint in interface IMarker3DPlacement
Parameters:
inShape - A reference to a com.esri.arcgis.geometry.IPoint (in)
outShape - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
enforcedZ - The enforcedZ (in, optional, pass -1.1E+38 if not required)
unitFactor - The unitFactor (in, optional, pass 0 if not required)
zScale - The zScale (in, optional, pass 1 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryRotationAngles

public void queryRotationAngles(double[] xAngle,
                                double[] yAngle,
                                double[] zAngle)
                         throws IOException,
                                AutomationException
Gets the rotation angles for each axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryRotationAngles in interface IMarker3DPlacement
Parameters:
xAngle - The xAngle (out: use single element array)
yAngle - The yAngle (out: use single element array)
zAngle - The zAngle (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationAngles

public void setRotationAngles(double xAngle,
                              double yAngle,
                              double zAngle)
                       throws IOException,
                              AutomationException
Sets the rotation angles for each axis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setRotationAngles in interface IMarker3DPlacement
Parameters:
xAngle - The xAngle (in)
yAngle - The yAngle (in)
zAngle - The zAngle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWidth

public double getWidth()
                throws IOException,
                       AutomationException
The width value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

setWidth

public void setWidth(double width)
              throws IOException,
                     AutomationException
The width value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

getDepth

public double getDepth()
                throws IOException,
                       AutomationException
The depth value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDepth in interface IMarker3DPlacement
Returns:
The depth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDepth

public void setDepth(double depth)
              throws IOException,
                     AutomationException
The depth value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

isMaintainAspectRatio

public boolean isMaintainAspectRatio()
                              throws IOException,
                                     AutomationException
Indicates if the marker maintains its dimensions based on size.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isMaintainAspectRatio in interface IMarker3DPlacement
Returns:
The bAspectRatio
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaintainAspectRatio

public void setMaintainAspectRatio(boolean bAspectRatio)
                            throws IOException,
                                   AutomationException
Indicates if the marker maintains its dimensions based on size.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

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

getSize

public double getSize()
               throws IOException,
                      AutomationException
Marker symbol size.

Description

Size is the size (the largest measurement, height or width) in points (approx 1/72 inch) of a marker symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSize in interface IMarkerSymbol
Returns:
The size
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSize

public void setSize(double size)
             throws IOException,
                    AutomationException
Marker symbol size.

Description

Size is the size (the largest measurement, height or width) in points (approx 1/72 inch) of a marker symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getColor

public IColor getColor()
                throws IOException,
                       AutomationException
Marker symbol color.

Description

Color is the color of a marker symbol. Any of the Arc Map color interfaces may be used to create the color object.
Color is not supported by the BarChartSymbol coclass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getColor in interface IMarkerSymbol
Returns:
A reference to a com.esri.arcgis.display.IColor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IHsvColor, IHlsColor

setColor

public void setColor(IColor color)
              throws IOException,
                     AutomationException
Marker symbol color.

Description

Color is the color of a marker symbol. Any of the Arc Map color interfaces may be used to create the color object.
Color is not supported by the BarChartSymbol coclass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setColor in interface IMarkerSymbol
Parameters:
color - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IHsvColor, IHlsColor

getAngle

public double getAngle()
                throws IOException,
                       AutomationException
Marker symbol angle.

Description

Angle is the number of degrees (0-360) that marker symbol is rotated. Rotation direction is counterclockwise and Arc Map assumes that directionality of the marker is horizontal (pointing in the positive X direction of a cartesian plane).
Angle is not supported by the BarChartSymbol coclass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAngle in interface IMarkerSymbol
Returns:
The angle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAngle

public void setAngle(double angle)
              throws IOException,
                     AutomationException
Marker symbol angle.

Description

Angle is the number of degrees (0-360) that marker symbol is rotated. Rotation direction is counterclockwise and Arc Map assumes that directionality of the marker is horizontal (pointing in the positive X direction of a cartesian plane).
Angle is not supported by the BarChartSymbol coclass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getXOffset

public double getXOffset()
                  throws IOException,
                         AutomationException
Symbol X-axis offset from point location.

Description

XOffset is the horizontal offset of the marker symbol in points (approx. 1/72 inch). Offsets may be positive or negative numbers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getXOffset in interface IMarkerSymbol
Returns:
The xOffset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setXOffset

public void setXOffset(double xOffset)
                throws IOException,
                       AutomationException
Symbol X-axis offset from point location.

Description

XOffset is the horizontal offset of the marker symbol in points (approx. 1/72 inch). Offsets may be positive or negative numbers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getYOffset

public double getYOffset()
                  throws IOException,
                         AutomationException
Symbol Y-axis offset from point location.

Description

YOffset is the vertical offset of the marker symbol in points (approx. 1/72 inch). Offsets may be positive or negative numbers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getYOffset in interface IMarkerSymbol
Returns:
The yOffset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setYOffset

public void setYOffset(double yOffset)
                throws IOException,
                       AutomationException
Symbol Y-axis offset from point location.

Description

YOffset is the vertical offset of the marker symbol in points (approx. 1/72 inch). Offsets may be positive or negative numbers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMapLevel

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMapLevel

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setupDC

public void setupDC(int hDC,
                    ITransformation transformation)
             throws IOException,
                    AutomationException
Prepares the DC for drawing the symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setupDC in interface ISymbol
Parameters:
hDC - The hDC (A COM typedef) (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.

resetDC

public void resetDC()
             throws IOException,
                    AutomationException
Restores DC to original state.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

draw

public void draw(IGeometry geometry)
          throws IOException,
                 AutomationException
Draws the specified shape.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryBoundary

public void queryBoundary(int hDC,
                          ITransformation displayTransform,
                          IGeometry geometry,
                          IPolygon boundary)
                   throws IOException,
                          AutomationException
Fills an existing polygon with the boundary of the specified symbol.

Remarks

Valid input Geometries are as follows:

For MarkerSymbols, the Geometry must be an IPoint.

For Fill Symbols, the Geometry can be either an IPolygon or an IEnvelope.

For Line Symbols, the Geometry must be an IPolyline.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryBoundary in interface ISymbol
Parameters:
hDC - The hDC (A COM typedef) (in)
displayTransform - A reference to a com.esri.arcgis.geometry.ITransformation (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
boundary - 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.

getROP2

public int getROP2()
            throws IOException,
                   AutomationException
Raster operation code for pixel drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getROP2 in interface ISymbol
Returns:
A com.esri.arcgis.display.esriRasterOpCode constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setROP2

public void setROP2(int drawMode)
             throws IOException,
                    AutomationException
Raster operation code for pixel drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setROP2 in interface ISymbol
Parameters:
drawMode - A com.esri.arcgis.display.esriRasterOpCode constant (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
Indicates if 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
Indicates if 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.

getNameString

public String getNameString()
                     throws IOException,
                            AutomationException
The display name of an object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNameString in interface IDisplayName
Returns:
The displayName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBillboardDisplay

public boolean isBillboardDisplay()
                           throws IOException,
                                  AutomationException
Indicates whether symbol is billboarded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
isBillboardDisplay in interface IBillboardDisplay
Returns:
The pBillboard
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBillboardDisplay

public void setBillboardDisplay(boolean pBillboard)
                         throws IOException,
                                AutomationException
Indicates whether symbol is billboarded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setBillboardDisplay in interface IBillboardDisplay
Parameters:
pBillboard - The pBillboard (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