## com.esri.arcgis.geometry Interface ITransform3D

All Superinterfaces:
Serializable
All Known Implementing Classes:
MultiPatch, Multipoint, Path, Point, Polygon, Polyline, Ring, TriangleFan, Triangles, TriangleStrip

`public interface ITransform3Dextends Serializable`

Provides access to methods for transforming 3D geometries using either specific parameters or arbitrary transformation objects.

#### Remarks

These methods are intended to be called against top-level geometries only (Point, Polyline, Polygon, MultiPatch). To call a method against a Segment/Path or Ring, first add the part to a Polyline or Polygon container, respectively, and then call the appropriate method against the container.

#### Product Availability

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

Method Summary
` void` ```move3D(double dx, double dy, double dz)```
Moves the object by dx, dy and dz along the x, y, and z axes respectively.
` void` `moveVector3D(IVector3D v)`
Moves the object by an offset defined by a 3D vector.
` IGeometry` ```projectToPlane(IPoint planarOrigin, IVector3D planarPositiveX, IVector3D planarNorm)```
Generates a polygon footprint for the object in an arbitrary plane.
` void` ```rotateVector3D(IVector3D axis, double rotationAngle)```
Rotates the object about axis defined by the specified vector through an angle measured in radians.
` void` ```scale3D(IPoint origin, double sx, double sy, double sz)```
Scales the object about the specified origin point.
` void` ```transform3D(int direction, ITransformation3D transformation)```
Applies an arbitrary 3D transformation.

Method Detail

### move3D

```void move3D(double dx,
double dy,
double dz)
throws IOException,
AutomationException```
Moves the object by dx, dy and dz along the x, y, and z axes respectively.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

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

### moveVector3D

```void moveVector3D(IVector3D v)
throws IOException,
AutomationException```
Moves the object by an offset defined by a 3D vector.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`v` - 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.

### scale3D

```void scale3D(IPoint origin,
double sx,
double sy,
double sz)
throws IOException,
AutomationException```
Scales the object about the specified origin point. sx, sy, and sz are the scaling factors for the x, y, and z dimensions repectively.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

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

### rotateVector3D

```void rotateVector3D(IVector3D axis,
double rotationAngle)
throws IOException,
AutomationException```
Rotates the object about axis defined by the specified vector through an angle measured in radians.

#### Remarks

The angle of rotation must be in radians. To convert to radians from decimal degrees, multiply by PI/180.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

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

### transform3D

```void transform3D(int direction,
ITransformation3D transformation)
throws IOException,
AutomationException```
Applies an arbitrary 3D transformation.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

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

### projectToPlane

```IGeometry projectToPlane(IPoint planarOrigin,
IVector3D planarPositiveX,
IVector3D planarNorm)
throws IOException,
AutomationException```
Generates a polygon footprint for the object in an arbitrary plane. The footprint may have multiple parts.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`planarOrigin` - A reference to a com.esri.arcgis.geometry.IPoint (in)
`planarPositiveX` - A reference to a com.esri.arcgis.geometry.IVector3D (in)
`planarNorm` - A reference to a com.esri.arcgis.geometry.IVector3D (in)
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.