com.esri.arcgis.analyst3d
Interface IMarker3DPlacement

All Superinterfaces:
IMarkerSymbol, Serializable
All Known Implementing Classes:
CharacterMarker3DSymbol, Marker3DSymbol, SimpleMarker3DSymbol

public interface IMarker3DPlacement
extends IMarkerSymbol, Serializable

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

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


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

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

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

setUnits

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

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

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

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

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.

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

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

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

setZOffset

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

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

getShape

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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.

applyToPoint

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

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

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

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

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

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

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

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

setWidth

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

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

getDepth

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

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

setDepth

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

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

isMaintainAspectRatio

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

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

setMaintainAspectRatio

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

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