|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IVector3D
Provides access to 3D vector properties and operations.
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.
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 |
---|
double getXComponent() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setXComponent(double dx) throws IOException, AutomationException
dx
- The dx (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getYComponent() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setYComponent(double dy) throws IOException, AutomationException
dy
- The dy (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getZComponent() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZComponent(double dz) throws IOException, AutomationException
dz
- The dz (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getInclination() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setInclination(double inclination) throws IOException, AutomationException
Note: That property cannot be set unless the vector as three well defined components (X, Y, Z).
inclination
- The inclination (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getAzimuth() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setAzimuth(double azimuth) throws IOException, AutomationException
Note: That property cannot be set unless the vector as three well defined components (X, Y, Z).
azimuth
- The azimuth (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void move(double dx, double dy, double dz) throws IOException, AutomationException
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.
dx
- The dx (in)dy
- The dy (in)dz
- The dz (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryComponents(double[] dx, double[] dy, double[] dz) throws IOException, AutomationException
Returns the X Component, Y Component, and X Component of the 3 Dimensional vector.
dx
- The dx (out: use single element array)dy
- The dy (out: use single element array)dz
- The dz (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setComponents(double dx, double dy, double dz) throws IOException, AutomationException
Sets the X Component, Y Component, and Z Component of the 3 Dimensional vector.
dx
- The dx (in)dy
- The dy (in)dz
- The dz (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructDifference(IPoint point1, IPoint point2) throws IOException, AutomationException
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.
point1
- A reference to a com.esri.arcgis.geometry.IPoint (in)point2
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void rotate(double angle, IVector3D axis) throws IOException, AutomationException
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.
angle
- The angle (in)axis
- A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void polarSet(double azimuth, double inclination, double radiusLength) throws IOException, AutomationException
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.
azimuth
- The azimuth (in)inclination
- The inclination (in)radiusLength
- The radiusLength (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void polarQuery(double[] azimuth, double[] inclination, double[] radiusLength) throws IOException, AutomationException
Returns the Azimuth, Inclination, and Radius Length (Magnitude) of the 3 Dimensional vector.
azimuth
- The azimuth (out: use single element array)inclination
- The inclination (out: use single element array)radiusLength
- The radiusLength (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void polarMove(double dAzimuth, double dInclination, double dRadius) throws IOException, AutomationException
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.
dAzimuth
- The dAzimuth (in)dInclination
- The dInclination (in)dRadius
- The dRadius (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IVector crossProduct(IVector otherVector) throws IOException, AutomationException
otherVector
- A reference to a com.esri.arcgis.geometry.IVector (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void constructCrossProduct(IVector vector1, IVector vector2) throws IOException, AutomationException
vector1
- A reference to a com.esri.arcgis.geometry.IVector (in)vector2
- A reference to a com.esri.arcgis.geometry.IVector (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |