com.esri.arcgis.geometry
Interface IVector3D

All Superinterfaces:
IVector, Serializable
All Known Implementing Classes:
Vector3D

public interface IVector3D
extends IVector, Serializable

Provides access to 3D vector properties and operations.

Description

A 3 Dimensional vector with an X Component, Y Component, and Z Component that correspond to the X-Axis, Y-Axis, and Z-Axis respectively. The 3 Dimensional vector can also be defined in terms of spherical coordinates as an angle of rotation (Azimuth) from the YZ-Plane, angle of displacement (Inclination) from the XY-Plane, and a length (Magnitude). This vector can be manipulated by any of the general Vector operations as well as operations specific to the third dimension.

Remarks

Vector3D Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 void constructCrossProduct(IVector vector1, IVector vector2)
          Set this vector equal to the cross product of the two input vectors.
 void constructDifference(IPoint point1, IPoint point2)
          Set the vector by taking the difference of point1 and point2 (so the vector would go from point2 to point1).
 IVector crossProduct(IVector otherVector)
          Returns the cross product of this vector and another vector.
 double getAzimuth()
          The vector's azimuth angle in radians.
 double getInclination()
          The vector's inclination in radians.
 double getXComponent()
          The vector's X component.
 double getYComponent()
          The vector's Y component.
 double getZComponent()
          The vector's Z component.
 void move(double dx, double dy, double dz)
          Move the vector by adding a shift value to each component.
 void polarMove(double dAzimuth, double dInclination, double dRadius)
          Modify the vector by adding to its polar components.
 void polarQuery(double[] azimuth, double[] inclination, double[] radiusLength)
          Get the vector's polar components.
 void polarSet(double azimuth, double inclination, double radiusLength)
          Set the vector using polar components.
 void queryComponents(double[] dx, double[] dy, double[] dz)
          Get the values of the vector's components.
 void rotate(double angle, IVector3D axis)
          Rotate the vector around an axis defined by another vector.
 void setAzimuth(double azimuth)
          The vector's azimuth angle in radians.
 void setComponents(double dx, double dy, double dz)
          Set the values of the vector's components.
 void setInclination(double inclination)
          The vector's inclination in radians.
 void setXComponent(double dx)
          The vector's X component.
 void setYComponent(double dy)
          The vector's Y component.
 void setZComponent(double dz)
          The vector's Z component.
 
Methods inherited from interface com.esri.arcgis.geometry.IVector
addVector, constructAddVector, constructSubtractVector, dotProduct, getComponentByIndex, getDimension, getMagnitude, isEmpty, normalize, scale, setComponentByIndex, setEmpty, setMagnitude, subtractVector
 

Method Detail

getXComponent

double getXComponent()
                     throws IOException,
                            AutomationException
The vector's X component.

Description

Returns and sets the X Component of the 3 Dimensional vector. The X Component corresponds to the displacement from the origin along the X-Axis.

Remarks

Vector3D XComponent Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setXComponent

void setXComponent(double dx)
                   throws IOException,
                          AutomationException
The vector's X component.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getYComponent

double getYComponent()
                     throws IOException,
                            AutomationException
The vector's Y component.

Description

Returns and sets the Y Component of the 3 Dimensional vector. The Y Component corresponds to the displacement from the origin along the Y-Axis.

Remarks

Vector3D YComponent Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setYComponent

void setYComponent(double dy)
                   throws IOException,
                          AutomationException
The vector's Y component.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getZComponent

double getZComponent()
                     throws IOException,
                            AutomationException
The vector's Z component.

Description

Returns and sets the Z Component of the 3 Dimensional vector. The Z Component corresponds to the displacement from the origin along the Z-Axis.

Remarks

Vector3D ZComponent Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setZComponent

void setZComponent(double dz)
                   throws IOException,
                          AutomationException
The vector's Z component.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getInclination

double getInclination()
                      throws IOException,
                             AutomationException
The vector's inclination in radians.

Description

Returns and sets the Inclination of the 3 Dimensional vector. The Inclination is the angle between the XY-Plane and the vector measured in the Z-direction. The Inclination is measured in radians and has a value between -Pi/2 and Pi/2.

Remarks

Vector3D Inclination Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setInclination

void setInclination(double inclination)
                    throws IOException,
                           AutomationException
The vector's inclination in radians.

Remarks

Note: That property cannot be set unless the vector as three well defined components (X, Y, Z).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAzimuth

double getAzimuth()
                  throws IOException,
                         AutomationException
The vector's azimuth angle in radians.

Description

Returns and sets the Azimuth of the 3 Dimensional vector. The Azimuth is the angle between the YZ-Plane and the vector measured in the X-direction. The Azimuth is measured in radians in a clockwise direction and has a value between 0 and 2*Pi.

Remarks

Vector3D Azimuth Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAzimuth

void setAzimuth(double azimuth)
                throws IOException,
                       AutomationException
The vector's azimuth angle in radians.

Remarks

Note: That property cannot be set unless the vector as three well defined components (X, Y, Z).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

move

void move(double dx,
          double dy,
          double dz)
          throws IOException,
                 AutomationException
Move the vector by adding a shift value to each component.

Description

Moves the Vector3D by adding a given input factor to each of the X, Y, and Z Components. The result is the same as adding another Vector3D defined by the inputs to the base Vector3D.

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.

queryComponents

void queryComponents(double[] dx,
                     double[] dy,
                     double[] dz)
                     throws IOException,
                            AutomationException
Get the values of the vector's components.

Description

Returns the X Component, Y Component, and X Component of the 3 Dimensional vector.

Remarks

Vector3D QueryComponents Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
dx - The dx (out: use single element array)
dy - The dy (out: use single element array)
dz - The dz (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setComponents

void setComponents(double dx,
                   double dy,
                   double dz)
                   throws IOException,
                          AutomationException
Set the values of the vector's components.

Description

Sets the X Component, Y Component, and Z Component of the 3 Dimensional vector.

Remarks

Vector3D SetComponents Example

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.

constructDifference

void constructDifference(IPoint point1,
                         IPoint point2)
                         throws IOException,
                                AutomationException
Set the vector by taking the difference of point1 and point2 (so the vector would go from point2 to point1).

Description

Constructs a Vector3D defined by the difference between the first point and the second point. The first point and the Origin define a Vector3D, and the Origin and the second point define a second Vector3D. Thus, the constructed difference Vector3D is the Constructed Subtract Vector between the first vector and the second vector.

Remarks

IVector3D ConstructDifference Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rotate

void rotate(double angle,
            IVector3D axis)
            throws IOException,
                   AutomationException
Rotate the vector around an axis defined by another vector. The angle is in radians.

Description

Rotates the base Vector3D a given input angle measured in radians around the specified axis defined by the input Vector3D. To rotate a vector in a given plane defined by two vectors, use the CrossProduct of those vectors as the axis of rotation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
angle - The angle (in)
axis - 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.

polarSet

void polarSet(double azimuth,
              double inclination,
              double radiusLength)
              throws IOException,
                     AutomationException
Set the vector using polar components. Angles are in radians.

Description

Sets the X Component, Y Component, and Z Component values of the 3 Dimensional vector that correspond to the input Azimuth, Inclination, and Radius Length (Magnitude) values. The Azimuth and Inclination are measured in radians.

Remarks

Vector3D PolarSet Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

polarQuery

void polarQuery(double[] azimuth,
                double[] inclination,
                double[] radiusLength)
                throws IOException,
                       AutomationException
Get the vector's polar components. Angles are in radians.

Description

Returns the Azimuth, Inclination, and Radius Length (Magnitude) of the 3 Dimensional vector.

Remarks

Vector3D PolarQuery Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
azimuth - The azimuth (out: use single element array)
inclination - The inclination (out: use single element array)
radiusLength - The radiusLength (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

polarMove

void polarMove(double dAzimuth,
               double dInclination,
               double dRadius)
               throws IOException,
                      AutomationException
Modify the vector by adding to its polar components. Angles are in radians.

Description

Moves the Vector3D in Polar coordinates by adding a given input factor to each of the Azimuth, Inclination, and Radius Components. This can be thought of as applying a Polar rotation and modification to the base Vector.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

crossProduct

IVector crossProduct(IVector otherVector)
                     throws IOException,
                            AutomationException
Returns the cross product of this vector and another vector.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

constructCrossProduct

void constructCrossProduct(IVector vector1,
                           IVector vector2)
                           throws IOException,
                                  AutomationException
Set this vector equal to the cross product of the two input vectors.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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