Struct Vector3
Three element vector, typically used to describe
a position, normal or euler rotation.
Assembly: ABB.Robotics.Math.dll
Syntax
Constructors
Vector3(Axis)
Creates a unit vector from an axis
Declaration
public Vector3(Axis axis)
Parameters
Type |
Name |
Description |
Axis |
axis |
axis
|
Exceptions
Vector3(Vector4)
Creates a vector from a 4-vector, truncating the last element.
Declaration
public Vector3(Vector4 vec)
Parameters
Vector3(Vector4, Boolean)
Creates a vector from a homogenous 4-vector.
Declaration
public Vector3(Vector4 vec, bool scale)
Parameters
Type |
Name |
Description |
Vector4 |
vec |
|
Boolean |
scale |
Rescale from homegenous coordinates
|
Vector3(Double, Double, Double)
Creates a vector from three doubles.
Declaration
public Vector3(double x0, double y0, double z0)
Parameters
Vector3(Double[])
Creates a vector from an array of doubles.
Declaration
public Vector3(double[] vec)
Parameters
Type |
Name |
Description |
Double[] |
vec |
|
Fields
x
Declaration
Field Value
XVector
Unit vector in the x direction.
Declaration
public static readonly Vector3 XVector
Field Value
y
Declaration
Field Value
YVector
Unit vector in the y direction.
Declaration
public static readonly Vector3 YVector
Field Value
z
Declaration
Field Value
ZeroVector
Declaration
public static readonly Vector3 ZeroVector
Field Value
ZVector
Unit vector in the z direction.
Declaration
public static readonly Vector3 ZVector
Field Value
Properties
IsNaN
Returns a value indicating whether any elements evaluates to a value that is not a number (NaN).
Declaration
public readonly bool IsNaN { get; }
Property Value
Item[Int32]
Declaration
public double this[int index] { get; set; }
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Property Value
Methods
Add(Vector3)
Element-wise addition method.
Declaration
public Vector3 Add(Vector3 rhs)
Parameters
Returns
AlmostEquals(Vector3)
Comparison method for vectors with tolerance (EPS)
Declaration
public bool AlmostEquals(Vector3 vec)
Parameters
Type |
Name |
Description |
Vector3 |
vec |
Vector to compare with
|
Returns
Type |
Description |
Boolean |
true if equals within tolerance
|
AlmostEquals(Vector3, Double)
Comparison method for vectors with tolerance
Declaration
public bool AlmostEquals(Vector3 vec, double tolerance)
Parameters
Type |
Name |
Description |
Vector3 |
vec |
Vector to compare with
|
Double |
tolerance |
Tolerance to use in the comparison
|
Returns
Type |
Description |
Boolean |
true if equals within tolerance
|
Angle(Vector3)
Angle between this and a vector.
Declaration
public double Angle(Vector3 vec)
Parameters
Returns
Type |
Description |
Double |
radians
|
Angle(Vector3, Vector3)
Angle betsween this and a vector signed depending on rotation direction.
Declaration
public double Angle(Vector3 vec, Vector3 refVec)
Parameters
Returns
Type |
Description |
Double |
radians
|
Cross(Vector3)
Declaration
public Vector3 Cross(Vector3 vec)
Parameters
Returns
Distance(Vector3)
Returns the distance between this and a vector.
Declaration
public double Distance(Vector3 vec)
Parameters
Returns
Divide(Double)
Vector scalar division method.
Declaration
public Vector3 Divide(double rhs)
Parameters
Type |
Name |
Description |
Double |
rhs |
|
Returns
Dot(Vector3)
Declaration
public double Dot(Vector3 vec)
Parameters
Returns
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Returns
Overrides
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
Length()
Returns the length of this.
Declaration
Returns
LinearInterpolate(Vector3, Double)
Linear interpolation between this and a vector.
Declaration
public Vector3 LinearInterpolate(Vector3 vec, double lerp)
Parameters
Type |
Name |
Description |
Vector3 |
vec |
Second vector
|
Double |
lerp |
Interpolation parameter
|
Returns
Type |
Description |
Vector3 |
Interpolated vector
|
Multiply(Double)
Vector-scalar multiplication method.
Declaration
public Vector3 Multiply(double rhs)
Parameters
Type |
Name |
Description |
Double |
rhs |
|
Returns
Normal()
Returns a unit vector normal to this
Declaration
Returns
Normalize()
Ensures that the length of this is 1.
Declaration
Normalized()
Returns a vector with the same direction as this, but with length 1
Declaration
public Vector3 Normalized()
Returns
Parse(String)
Converts the string representation to its Vector3 equivalent.
Declaration
public static Vector3 Parse(string value)
Parameters
Type |
Name |
Description |
String |
value |
|
Returns
Converts the string representation to its Vector3 equivalent.
Declaration
public static Vector3 Parse(string value, IFormatProvider formatProvider)
Parameters
Returns
Rotate(Vector3, Double)
Returns a vector that is this vector rotated around an axis.
Declaration
public Vector3 Rotate(Vector3 axis, double angle)
Parameters
Type |
Name |
Description |
Vector3 |
axis |
Rotation axis
|
Double |
angle |
Rotation angle
|
Returns
Type |
Description |
Vector3 |
Rotated vector
|
SphericalInterpolate(Vector3, Double)
Spherical interpolation between this and a vector.
Declaration
public Vector3 SphericalInterpolate(Vector3 vec, double lerp)
Parameters
Type |
Name |
Description |
Vector3 |
vec |
Second vector
|
Double |
lerp |
Interpolation parameter
|
Returns
Type |
Description |
Vector3 |
Interpolated vector
|
SquareDistance(Vector3)
Returns the squared distance between this and a vector.
Declaration
public double SquareDistance(Vector3 vec)
Parameters
Returns
SquareLength()
Returns the squared length of this.
Declaration
public double SquareLength()
Returns
Subtract(Vector3)
Element-wise subtraction method.
Declaration
public Vector3 Subtract(Vector3 rhs)
Parameters
Returns
ToArray()
Returns the elements (x,y,z) as an array
Declaration
public double[] ToArray()
Returns
ToString()
Returns a string in the format
[x y z]
Declaration
public override string ToString()
Returns
Overrides
Returns a string in the format
[x y z]
Declaration
public string ToString(IFormatProvider formatProvider)
Parameters
Returns
ToString(Int32, String)
Returns a string in the format x y z with a specified number of decimals
and separator between the elements.
Declaration
public string ToString(int numDecimals, string separator)
Parameters
Type |
Name |
Description |
Int32 |
numDecimals |
|
String |
separator |
|
Returns
Returns a string in the format x y z with a specified number of decimals
and separator between the elements.
Declaration
public string ToString(int numDecimals, string separator, IFormatProvider formatProvider)
Parameters
Returns
Transforms a point between coordinate systems.
Declaration
public Vector3 TransformPoint(Matrix4 from, Matrix4 to)
Parameters
Returns
Type |
Description |
Vector3 |
Point in the "to" system
|
Transforms a vector between coordinate systems.
Declaration
public Vector3 TransformVector(Matrix4 from, Matrix4 to)
Parameters
Returns
Type |
Description |
Vector3 |
Vector in the "to" system
|
TryParse(String, out Vector3)
Converts the string representation to its Vector3 equivalent.
Declaration
public static bool TryParse(string value, out Vector3 result)
Parameters
Returns
Type |
Description |
Boolean |
A value indicating whether the conversion succeeded
|
Converts the string representation to its Vector3 equivalent.
Declaration
public static bool TryParse(string value, IFormatProvider formatProvider, out Vector3 result)
Parameters
Returns
Type |
Description |
Boolean |
A value indicating whether the conversion succeeded
|
Operators
Addition(Vector3, Vector3)
Element-wise addition operator.
Declaration
public static Vector3 operator +(Vector3 lhs, Vector3 rhs)
Parameters
Returns
Division(Vector3, Double)
Vector-scalar division operator.
Declaration
public static Vector3 operator /(Vector3 lhs, double rhs)
Parameters
Returns
Equality(Vector3, Vector3)
Declaration
public static bool operator ==(Vector3 lhs, Vector3 rhs)
Parameters
Returns
Explicit(Double[] to Vector3)
Array to vector conversion.
Declaration
public static explicit operator Vector3(double[] arg)
Parameters
Type |
Name |
Description |
Double[] |
arg |
|
Returns
Inequality(Vector3, Vector3)
Declaration
public static bool operator !=(Vector3 lhs, Vector3 rhs)
Parameters
Returns
Multiply(Vector3, Double)
Vector-scalar multiplication operator.
Declaration
public static Vector3 operator *(Vector3 lhs, double rhs)
Parameters
Returns
Multiply(Double, Vector3)
Scalar-Vector multiplication operator.
Declaration
public static Vector3 operator *(double lhs, Vector3 rhs)
Parameters
Returns
Subtraction(Vector3, Vector3)
Element-wise subtraction operator.
Declaration
public static Vector3 operator -(Vector3 lhs, Vector3 rhs)
Parameters
Returns
UnaryNegation(Vector3)
Declaration
public static Vector3 operator -(Vector3 arg)
Parameters
Returns