com.esri.arcgis.analyst3d
Interface IMarker3DPlacement

All Superinterfaces:
IMarkerSymbol, java.io.Serializable
All Known Implementing Classes:
CharacterMarker3DSymbol, IMarker3DPlacementProxy, Marker3DSymbol, SimpleMarker3DSymbol

public interface IMarker3DPlacement
extends IMarkerSymbol, java.io.Serializable

Provides access to members that control the simple 3D marker symbol origin.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Description

The IMarker3DPlacement  interface contains methods and properties which can be used to define the 3D placement of marker 3D symbols. The QueryRotationAngles and SetRotationAngles methods are used to get/set the rotation of the 3D marker symbol about the X, Y, and Z axis.


Method Summary
 void applyToPoint(IPoint inShape, IGeometry[] outShape, double enforcedZ, double unitFactor, double zScale)
          Applies symbol construction to original shape.
 double getDepth()
          The depth value.
 IVector3D getNormalizedOriginOffset()
          Normalized offset vector defining the origin within the MBB relative to lower-left corner.
 IGeometry getShape()
          Marker's shape.
 int getUnits()
          The size units.
 double getWidth()
          The width value.
 double getZOffset()
          The Z offset value.
 boolean isMaintainAspectRatio()
          Indicates if the marker maintains its dimensions based on size.
 void queryRotationAngles(double[] xAngle, double[] yAngle, double[] zAngle)
          Gets the rotation angles for each axis.
 void setDepth(double depth)
          The depth value.
 void setMaintainAspectRatio(boolean bAspectRatio)
          Indicates if the marker maintains its dimensions based on size.
 void setNormalizedOriginOffsetByRef(IVector3D offset)
          Normalized offset vector defining the origin within the MBB relative to lower-left corner.
 void setRotationAngles(double xAngle, double yAngle, double zAngle)
          Sets the rotation angles for each axis.
 void setUnits(int unitsCode)
          The size units.
 void setWidth(double width)
          The width value.
 void setZOffset(double zOffset)
          The Z offset value.
 
Methods inherited from interface com.esri.arcgis.display.IMarkerSymbol
getAngle, getColor, getSize, getXOffset, getYOffset, setAngle, setColor, setSize, setXOffset, setYOffset
 

Method Detail

getUnits

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUnits

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

Supported Platforms

Windows, Solaris, Linux

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

getNormalizedOriginOffset

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IVector3D
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizedOriginOffsetByRef

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

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

getZOffset

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The zOffset
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZOffset

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
zOffset - The zOffset (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShape

public IGeometry getShape()
                   throws java.io.IOException,
                          AutomationException
Marker's shape.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
java.io.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 java.io.IOException,
                         AutomationException
Applies symbol construction to original shape.

Supported Platforms

Windows, Solaris, Linux

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.

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:
java.io.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 java.io.IOException,
                                AutomationException
Gets the rotation angles for each axis.

Supported Platforms

Windows, Solaris, Linux

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:
java.io.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 java.io.IOException,
                              AutomationException
Sets the rotation angles for each axis.

Parameters:
xAngle - The xAngle (in)
yAngle - The yAngle (in)
zAngle - The zAngle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWidth

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The width
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWidth

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
width - The width (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDepth

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The depth
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDepth

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
depth - The depth (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMaintainAspectRatio

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The bAspectRatio
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaintainAspectRatio

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
bAspectRatio - The bAspectRatio (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.