Space Engineers
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
VRageMath.Vector3 Struct Reference

Defines a vector with three components. More...

Inheritance diagram for VRageMath.Vector3:

Public Member Functions

 Vector3 (float x, float y, float z)
 Initializes a new instance of Vector3. More...
 
 Vector3 (double x, double y, double z)
 
 Vector3 (float value)
 Creates a new instance of Vector3. More...
 
 Vector3 (Vector2 value, float z)
 Initializes a new instance of Vector3. More...
 
 Vector3 (Vector4 xyz)
 
 Vector3 (ref Vector3I value)
 
 Vector3 (Vector3I value)
 
void Divide (float divider)
 
void Multiply (float scale)
 
void Add (Vector3 other)
 
void Interpolate3 (Vector3 v0, Vector3 v1, float rt)
 
bool IsValid ()
 
void AssertIsValid ()
 
override string ToString ()
 Retrieves a string representation of the current object. More...
 
string ToString (string format)
 
bool Equals (Vector3 other)
 Determines whether the specified Object is equal to the Vector3. More...
 
bool Equals (Vector3 other, float epsilon)
 
override bool Equals (object obj)
 Returns a value that indicates whether the current instance is equal to a specified object. More...
 
override int GetHashCode ()
 
long GetHash ()
 Gets the hash code of the vector object. More...
 
float Length ()
 Calculates the length of the vector. More...
 
float LengthSquared ()
 Calculates the length of the vector squared. More...
 
float Dot (Vector3 v)
 
float Dot (ref Vector3 v)
 
Vector3 Cross (Vector3 v)
 
float Normalize ()
 Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector. More...
 
float Min ()
 Returns the component of the vector that is smallest of all the three components. More...
 
float AbsMin ()
 Returns the component of the vector, whose absolute value is smallest of all the three components. More...
 
float Max ()
 Returns the component of the vector that is largest of all the three components. More...
 
Vector3 MaxAbsComponent ()
 Keeps only component with maximal absolute, others are set to zero. More...
 
float AbsMax ()
 Returns the component of the vector, whose absolute value is largest of all the three components. More...
 
void CalculatePerpendicularVector (out Vector3 result)
 
long VolumeInt (float multiplier)
 
bool IsInsideInclusive (ref Vector3 min, ref Vector3 max)
 
float GetDim (int i)
 
void SetDim (int i, float value)
 

Static Public Member Functions

static Vector3 ()
 
static Vector3 operator- (Vector3 value)
 Returns a vector pointing in the opposite direction. More...
 
static bool operator== (Vector3 value1, Vector3 value2)
 Tests vectors for equality. More...
 
static bool operator!= (Vector3 value1, Vector3 value2)
 Tests vectors for inequality. More...
 
static Vector3 operator+ (Vector3 value1, Vector3 value2)
 Adds two vectors. More...
 
static Vector3 operator+ (Vector3 value1, float value2)
 
static Vector3 operator- (Vector3 value1, Vector3 value2)
 Subtracts a vector from a vector. More...
 
static Vector3 operator- (Vector3 value1, float value2)
 
static Vector3 operator* (Vector3 value1, Vector3 value2)
 Multiplies the components of two vectors by each other. More...
 
static Vector3 operator* (Vector3 value, float scaleFactor)
 Multiplies a vector by a scalar value. More...
 
static Vector3 operator* (float scaleFactor, Vector3 value)
 Multiplies a vector by a scalar value. More...
 
static Vector3 operator/ (Vector3 value1, Vector3 value2)
 Divides the components of a vector by the components of another vector. More...
 
static Vector3 operator/ (Vector3 value, float divider)
 Divides a vector by a scalar value. More...
 
static Vector3 operator/ (float value, Vector3 divider)
 
static Vector3 Abs (Vector3 value)
 
static Vector3 Sign (Vector3 value)
 
static Vector3 SignNonZero (Vector3 value)
 Returns per component sign, never returns zero. For zero component returns sign 1. Faster than Sign. More...
 
static bool IsUnit (ref Vector3 value)
 
static bool ArePerpendicular (ref Vector3 a, ref Vector3 b)
 
static bool IsZero (Vector3 value)
 
static bool IsZero (Vector3 value, float epsilon)
 
static Vector3 IsZeroVector (Vector3 value)
 
static Vector3 IsZeroVector (Vector3 value, float epsilon)
 
static Vector3 Step (Vector3 value)
 
static float Distance (Vector3 value1, Vector3 value2)
 Calculates the distance between two vectors. More...
 
static void Distance (ref Vector3 value1, ref Vector3 value2, out float result)
 Calculates the distance between two vectors. More...
 
static float DistanceSquared (Vector3 value1, Vector3 value2)
 Calculates the distance between two vectors squared. More...
 
static void DistanceSquared (ref Vector3 value1, ref Vector3 value2, out float result)
 Calculates the distance between two vectors squared. More...
 
static float RectangularDistance (Vector3 value1, Vector3 value2)
 Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. More...
 
static float RectangularDistance (ref Vector3 value1, ref Vector3 value2)
 Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. More...
 
static float Dot (Vector3 vector1, Vector3 vector2)
 Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. More...
 
static void Dot (ref Vector3 vector1, ref Vector3 vector2, out float result)
 Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. More...
 
static Vector3 Normalize (Vector3 value)
 Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. More...
 
static Vector3 Normalize (Vector3D value)
 
static bool GetNormalized (ref Vector3 value)
 
static void Normalize (ref Vector3 value, out Vector3 result)
 Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector. More...
 
static Vector3 Cross (Vector3 vector1, Vector3 vector2)
 Calculates the cross product of two vectors. More...
 
static void Cross (ref Vector3 vector1, ref Vector3 vector2, out Vector3 result)
 Calculates the cross product of two vectors. More...
 
static Vector3 Reflect (Vector3 vector, Vector3 normal)
 Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. More...
 
static void Reflect (ref Vector3 vector, ref Vector3 normal, out Vector3 result)
 Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. More...
 
static Vector3 Reject (Vector3 vector, Vector3 direction)
 Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction More...
 
static void Reject (ref Vector3 vector, ref Vector3 direction, out Vector3 result)
 Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction More...
 
static Vector3 Min (Vector3 value1, Vector3 value2)
 Returns a vector that contains the lowest value from each matching pair of components. More...
 
static void Min (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Returns a vector that contains the lowest value from each matching pair of components. More...
 
static Vector3 Max (Vector3 value1, Vector3 value2)
 Returns a vector that contains the highest value from each matching pair of components. More...
 
static void Max (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Returns a vector that contains the highest value from each matching pair of components. More...
 
static void MinMax (ref Vector3 min, ref Vector3 max)
 Separates minimal and maximal values of any two input vectors More...
 
static Vector3 DominantAxisProjection (Vector3 value1)
 Returns a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. More...
 
static void DominantAxisProjection (ref Vector3 value1, out Vector3 result)
 Calculates a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. The result is saved into a user-specified variable. More...
 
static Vector3 Clamp (Vector3 value1, Vector3 min, Vector3 max)
 Restricts a value to be within a specified range. More...
 
static void Clamp (ref Vector3 value1, ref Vector3 min, ref Vector3 max, out Vector3 result)
 Restricts a value to be within a specified range. More...
 
static Vector3 ClampToSphere (Vector3 vector, float radius)
 
static void ClampToSphere (ref Vector3 vector, float radius)
 
static Vector3 Lerp (Vector3 value1, Vector3 value2, float amount)
 Performs a linear interpolation between two vectors. More...
 
static void Lerp (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result)
 Performs a linear interpolation between two vectors. More...
 
static Vector3 Barycentric (Vector3 value1, Vector3 value2, Vector3 value3, float amount1, float amount2)
 Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. More...
 
static void Barycentric (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, float amount1, float amount2, out Vector3 result)
 Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 3D triangle. More...
 
static void Barycentric (Vector3 p, Vector3 a, Vector3 b, Vector3 c, out float u, out float v, out float w)
 Compute barycentric coordinates (u, v, w) for point p with respect to triangle (a, b, c) From : Real-Time Collision Detection, Christer Ericson, CRC Press 3.4 Barycentric Coordinates More...
 
static Vector3 SmoothStep (Vector3 value1, Vector3 value2, float amount)
 Interpolates between two values using a cubic equation. More...
 
static void SmoothStep (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result)
 Interpolates between two values using a cubic equation. More...
 
static Vector3 CatmullRom (Vector3 value1, Vector3 value2, Vector3 value3, Vector3 value4, float amount)
 Performs a Catmull-Rom interpolation using the specified positions. More...
 
static void CatmullRom (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, ref Vector3 value4, float amount, out Vector3 result)
 Performs a Catmull-Rom interpolation using the specified positions. More...
 
static Vector3 Hermite (Vector3 value1, Vector3 tangent1, Vector3 value2, Vector3 tangent2, float amount)
 Performs a Hermite spline interpolation. More...
 
static void Hermite (ref Vector3 value1, ref Vector3 tangent1, ref Vector3 value2, ref Vector3 tangent2, float amount, out Vector3 result)
 Performs a Hermite spline interpolation. More...
 
static Vector3 Transform (Vector3 position, Matrix matrix)
 Transforms a 3D vector by the given matrix. More...
 
static Vector3D Transform (Vector3 position, MatrixD matrix)
 Transforms a 3D vector by the given matrix. More...
 
static Vector3 Transform (Vector3 position, ref Matrix matrix)
 
static void Transform (ref Vector3 position, ref Matrix matrix, out Vector3 result)
 Transforms a Vector3 by the given Matrix. More...
 
static void Transform (ref Vector3 position, ref MatrixI matrix, out Vector3 result)
 
static void TransformNoProjection (ref Vector3 vector, ref Matrix matrix, out Vector3 result)
 
static void RotateAndScale (ref Vector3 vector, ref Matrix matrix, out Vector3 result)
 
static Vector3 TransformNormal (Vector3 normal, Matrix matrix)
 Transforms a 3D vector normal by a matrix. More...
 
static Vector3 TransformNormal (Vector3 normal, MatrixD matrix)
 Transforms a 3D vector normal by a matrix. More...
 
static Vector3 TransformNormal (Vector3D normal, Matrix matrix)
 Transforms a 3D vector normal by a matrix. More...
 
static void TransformNormal (ref Vector3 normal, ref Matrix matrix, out Vector3 result)
 Transforms a vector normal by a matrix. More...
 
static void TransformNormal (ref Vector3 normal, ref MatrixD matrix, out Vector3 result)
 
static void TransformNormal (ref Vector3 normal, ref MatrixI matrix, out Vector3 result)
 
static Vector3 TransformNormal (Vector3 normal, MyBlockOrientation orientation)
 
static void TransformNormal (ref Vector3 normal, MyBlockOrientation orientation, out Vector3 result)
 
static Vector3 TransformNormal (Vector3 normal, ref Matrix matrix)
 
static Vector3 Transform (Vector3 value, Quaternion rotation)
 Transforms a Vector3 by a specified Quaternion rotation. More...
 
static void Transform (ref Vector3 value, ref Quaternion rotation, out Vector3 result)
 Transforms a Vector3 by a specified Quaternion rotation. More...
 
static void Transform (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray)
 Transforms a source array of Vector3s by a specified Matrix and writes the results to an existing destination array. More...
 
static void Transform (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length)
 Applies a specified transform Matrix to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. More...
 
static void TransformNormal (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray)
 Transforms an array of 3D vector normals by a specified Matrix. More...
 
static void TransformNormal (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length)
 Transforms a specified range in an array of 3D vector normals by a specified Matrix and writes the results to a specified range in a destination array. More...
 
static void Transform (Vector3[] sourceArray, ref Quaternion rotation, Vector3[] destinationArray)
 Transforms a source array of Vector3s by a specified Quaternion rotation and writes the results to an existing destination array. More...
 
static void Transform (Vector3[] sourceArray, int sourceIndex, ref Quaternion rotation, Vector3[] destinationArray, int destinationIndex, int length)
 Applies a specified Quaternion rotation to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. More...
 
static Vector3 Negate (Vector3 value)
 Returns a vector pointing in the opposite direction. More...
 
static void Negate (ref Vector3 value, out Vector3 result)
 Returns a vector pointing in the opposite direction. More...
 
static Vector3 Add (Vector3 value1, Vector3 value2)
 Adds two vectors. More...
 
static void Add (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Adds two vectors. More...
 
static Vector3 Subtract (Vector3 value1, Vector3 value2)
 Subtracts a vector from a vector. More...
 
static void Subtract (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Subtracts a vector from a vector. More...
 
static Vector3 Multiply (Vector3 value1, Vector3 value2)
 Multiplies the components of two vectors by each other. More...
 
static void Multiply (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Multiplies the components of two vectors by each other. More...
 
static Vector3 Multiply (Vector3 value1, float scaleFactor)
 Multiplies a vector by a scalar value. More...
 
static void Multiply (ref Vector3 value1, float scaleFactor, out Vector3 result)
 Multiplies a vector by a scalar value. More...
 
static Vector3 Divide (Vector3 value1, Vector3 value2)
 Divides the components of a vector by the components of another vector. More...
 
static void Divide (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Divides the components of a vector by the components of another vector. More...
 
static Vector3 Divide (Vector3 value1, float value2)
 Divides a vector by a scalar value. More...
 
static void Divide (ref Vector3 value1, float value2, out Vector3 result)
 Divides a vector by a scalar value. More...
 
static Vector3 CalculatePerpendicularVector (Vector3 v)
 
static void GetAzimuthAndElevation (Vector3 v, out float azimuth, out float elevation)
 
static void CreateFromAzimuthAndElevation (float azimuth, float elevation, out Vector3 direction)
 
static Vector3 SwapYZCoordinates (Vector3 v)
 
static Vector3 Ceiling (Vector3 v)
 
static Vector3 Floor (Vector3 v)
 
static Vector3 Round (Vector3 v)
 
static Vector3 Round (Vector3 v, int numDecimals)
 

Public Attributes

float X
 Gets or sets the x-component of the vector. More...
 
float Y
 Gets or sets the y-component of the vector. More...
 
float Z
 Gets or sets the z-component of the vector. More...
 

Static Public Attributes

static Vector3 Zero = new Vector3()
 
static Vector3 One = new Vector3(1f, 1f, 1f)
 
static Vector3 MinusOne = new Vector3(-1f, -1f, -1f)
 
static Vector3 Half = new Vector3(0.5f, 0.5f, 0.5f)
 
static Vector3 PositiveInfinity = new Vector3(float.PositiveInfinity)
 
static Vector3 NegativeInfinity = new Vector3(float.NegativeInfinity)
 
static Vector3 UnitX = new Vector3(1f, 0.0f, 0.0f)
 
static Vector3 UnitY = new Vector3(0.0f, 1f, 0.0f)
 
static Vector3 UnitZ = new Vector3(0.0f, 0.0f, 1f)
 
static Vector3 Up = new Vector3(0.0f, 1f, 0.0f)
 
static Vector3 Down = new Vector3(0.0f, -1f, 0.0f)
 
static Vector3 Right = new Vector3(1f, 0.0f, 0.0f)
 
static Vector3 Left = new Vector3(-1f, 0.0f, 0.0f)
 
static Vector3 Forward = new Vector3(0.0f, 0.0f, -1f)
 
static Vector3 Backward = new Vector3(0.0f, 0.0f, 1f)
 
static Vector3 MaxValue = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue)
 
static Vector3 MinValue = new Vector3(float.MinValue, float.MinValue, float.MinValue)
 
static Vector3 Invalid = new Vector3(float.NaN)
 

Properties

float Sum [get]
 
float Volume [get]
 

Detailed Description

Defines a vector with three components.

Definition at line 22 of file Vector3.cs.

Constructor & Destructor Documentation

static VRageMath.Vector3.Vector3 ( )
inlinestatic

Definition at line 62 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( float  x,
float  y,
float  z 
)
inline

Initializes a new instance of Vector3.

Parameters
xInitial value for the x-component of the vector.
yInitial value for the y-component of the vector.
zInitial value for the z-component of the vector.

Definition at line 70 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( double  x,
double  y,
double  z 
)
inline

Definition at line 77 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( float  value)
inline

Creates a new instance of Vector3.

Parameters
valueValue to initialize each component to.

Definition at line 88 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( Vector2  value,
float  z 
)
inline

Initializes a new instance of Vector3.

Parameters
valueA vector containing the values to initialize x and y components with.
zInitial value for the z-component of the vector.

Definition at line 97 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( Vector4  xyz)
inline

Definition at line 104 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( ref Vector3I  value)
inline

Definition at line 111 of file Vector3.cs.

VRageMath.Vector3.Vector3 ( Vector3I  value)
inline

Definition at line 118 of file Vector3.cs.

Member Function Documentation

static Vector3 VRageMath.Vector3.Abs ( Vector3  value)
inlinestatic

Definition at line 303 of file Vector3.cs.

float VRageMath.Vector3.AbsMax ( )
inline

Returns the component of the vector, whose absolute value is largest of all the three components.

Definition at line 821 of file Vector3.cs.

float VRageMath.Vector3.AbsMin ( )
inline

Returns the component of the vector, whose absolute value is smallest of all the three components.

Definition at line 770 of file Vector3.cs.

void VRageMath.Vector3.Add ( Vector3  other)
inline

Definition at line 296 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Add ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Adds two vectors.

Parameters
value1Source vector.
value2Source vector.

Definition at line 1632 of file Vector3.cs.

static void VRageMath.Vector3.Add ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Adds two vectors.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] Sum of the source vectors.

Definition at line 1645 of file Vector3.cs.

static bool VRageMath.Vector3.ArePerpendicular ( ref Vector3  a,
ref Vector3  b 
)
inlinestatic

Definition at line 349 of file Vector3.cs.

void VRageMath.Vector3.AssertIsValid ( )
inline

Definition at line 338 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Barycentric ( Vector3  value1,
Vector3  value2,
Vector3  value3,
float  amount1,
float  amount2 
)
inlinestatic

Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.

Parameters
value1A Vector3 containing the 3D Cartesian coordinates of vertex 1 of the triangle.
value2A Vector3 containing the 3D Cartesian coordinates of vertex 2 of the triangle.
value3A Vector3 containing the 3D Cartesian coordinates of vertex 3 of the triangle.
amount1Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2).
amount2Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3).

Definition at line 1043 of file Vector3.cs.

static void VRageMath.Vector3.Barycentric ( ref Vector3  value1,
ref Vector3  value2,
ref Vector3  value3,
float  amount1,
float  amount2,
out Vector3  result 
)
inlinestatic

Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 3D triangle.

Parameters
value1A Vector3 containing the 3D Cartesian coordinates of vertex 1 of the triangle.
value2A Vector3 containing the 3D Cartesian coordinates of vertex 2 of the triangle.
value3A Vector3 containing the 3D Cartesian coordinates of vertex 3 of the triangle.
amount1Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2).
amount2Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3).
result[OutAttribute] The 3D Cartesian coordinates of the specified point are placed in this Vector3 on exit.

Definition at line 1056 of file Vector3.cs.

static void VRageMath.Vector3.Barycentric ( Vector3  p,
Vector3  a,
Vector3  b,
Vector3  c,
out float  u,
out float  v,
out float  w 
)
inlinestatic

Compute barycentric coordinates (u, v, w) for point p with respect to triangle (a, b, c) From : Real-Time Collision Detection, Christer Ericson, CRC Press 3.4 Barycentric Coordinates

Definition at line 1068 of file Vector3.cs.

static Vector3 VRageMath.Vector3.CalculatePerpendicularVector ( Vector3  v)
inlinestatic

Definition at line 1774 of file Vector3.cs.

void VRageMath.Vector3.CalculatePerpendicularVector ( out Vector3  result)
inline

Definition at line 1781 of file Vector3.cs.

static Vector3 VRageMath.Vector3.CatmullRom ( Vector3  value1,
Vector3  value2,
Vector3  value3,
Vector3  value4,
float  amount 
)
inlinestatic

Performs a Catmull-Rom interpolation using the specified positions.

Parameters
value1The first position in the interpolation.
value2The second position in the interpolation.
value3The third position in the interpolation.
value4The fourth position in the interpolation.
amountWeighting factor.

Definition at line 1114 of file Vector3.cs.

static void VRageMath.Vector3.CatmullRom ( ref Vector3  value1,
ref Vector3  value2,
ref Vector3  value3,
ref Vector3  value4,
float  amount,
out Vector3  result 
)
inlinestatic

Performs a Catmull-Rom interpolation using the specified positions.

Parameters
value1The first position in the interpolation.
value2The second position in the interpolation.
value3The third position in the interpolation.
value4The fourth position in the interpolation.
amountWeighting factor.
result[OutAttribute] A vector that is the result of the Catmull-Rom interpolation.

Definition at line 1129 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Ceiling ( Vector3  v)
inlinestatic

Definition at line 1877 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Clamp ( Vector3  value1,
Vector3  min,
Vector3  max 
)
inlinestatic

Restricts a value to be within a specified range.

Parameters
value1The value to clamp.
minThe minimum value.
maxThe maximum value.

Definition at line 956 of file Vector3.cs.

static void VRageMath.Vector3.Clamp ( ref Vector3  value1,
ref Vector3  min,
ref Vector3  max,
out Vector3  result 
)
inlinestatic

Restricts a value to be within a specified range.

Parameters
value1The value to clamp.
minThe minimum value.
maxThe maximum value.
result[OutAttribute] The clamped value.

Definition at line 978 of file Vector3.cs.

static Vector3 VRageMath.Vector3.ClampToSphere ( Vector3  vector,
float  radius 
)
inlinestatic

Definition at line 994 of file Vector3.cs.

static void VRageMath.Vector3.ClampToSphere ( ref Vector3  vector,
float  radius 
)
inlinestatic

Definition at line 1005 of file Vector3.cs.

static void VRageMath.Vector3.CreateFromAzimuthAndElevation ( float  azimuth,
float  elevation,
out Vector3  direction 
)
inlinestatic

Definition at line 1813 of file Vector3.cs.

Vector3 VRageMath.Vector3.Cross ( Vector3  v)
inline

Definition at line 582 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Cross ( Vector3  vector1,
Vector3  vector2 
)
inlinestatic

Calculates the cross product of two vectors.

Parameters
vector1Source vector.
vector2Source vector.

Definition at line 658 of file Vector3.cs.

static void VRageMath.Vector3.Cross ( ref Vector3  vector1,
ref Vector3  vector2,
out Vector3  result 
)
inlinestatic

Calculates the cross product of two vectors.

Parameters
vector1Source vector.
vector2Source vector.
result[OutAttribute] The cross product of the vectors.

Definition at line 671 of file Vector3.cs.

static float VRageMath.Vector3.Distance ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Calculates the distance between two vectors.

Parameters
value1Source vector.
value2Source vector.

Definition at line 489 of file Vector3.cs.

static void VRageMath.Vector3.Distance ( ref Vector3  value1,
ref Vector3  value2,
out float  result 
)
inlinestatic

Calculates the distance between two vectors.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The distance between the vectors.

Definition at line 501 of file Vector3.cs.

static float VRageMath.Vector3.DistanceSquared ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Calculates the distance between two vectors squared.

Parameters
value1Source vector.
value2Source vector.

Definition at line 514 of file Vector3.cs.

static void VRageMath.Vector3.DistanceSquared ( ref Vector3  value1,
ref Vector3  value2,
out float  result 
)
inlinestatic

Calculates the distance between two vectors squared.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The distance between the two vectors squared.

Definition at line 526 of file Vector3.cs.

void VRageMath.Vector3.Divide ( float  divider)
inline

Definition at line 281 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Divide ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Divides the components of a vector by the components of another vector.

Parameters
value1Source vector.
value2Divisor vector.

Definition at line 1728 of file Vector3.cs.

static void VRageMath.Vector3.Divide ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Divides the components of a vector by the components of another vector.

Parameters
value1Source vector.
value2The divisor.
result[OutAttribute] The result of the division.

Definition at line 1741 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Divide ( Vector3  value1,
float  value2 
)
inlinestatic

Divides a vector by a scalar value.

Parameters
value1Source vector.
value2The divisor.

Definition at line 1752 of file Vector3.cs.

static void VRageMath.Vector3.Divide ( ref Vector3  value1,
float  value2,
out Vector3  result 
)
inlinestatic

Divides a vector by a scalar value.

Parameters
value1Source vector.
value2The divisor.
result[OutAttribute] The result of the division.

Definition at line 1766 of file Vector3.cs.

static Vector3 VRageMath.Vector3.DominantAxisProjection ( Vector3  value1)
inlinestatic

Returns a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value.

Parameters
value1Source vector.

Definition at line 916 of file Vector3.cs.

static void VRageMath.Vector3.DominantAxisProjection ( ref Vector3  value1,
out Vector3  result 
)
inlinestatic

Calculates a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. The result is saved into a user-specified variable.

Parameters
value1Source vector.
result[OutAttribute] The projected vector.

Definition at line 930 of file Vector3.cs.

static float VRageMath.Vector3.Dot ( Vector3  vector1,
Vector3  vector2 
)
inlinestatic

Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them.

Parameters
vector1Source vector.
vector2Source vector.

Definition at line 558 of file Vector3.cs.

static void VRageMath.Vector3.Dot ( ref Vector3  vector1,
ref Vector3  vector2,
out float  result 
)
inlinestatic

Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them.

Parameters
vector1Source vector.
vector2Source vector.
result[OutAttribute] The dot product of the two vectors.

Definition at line 567 of file Vector3.cs.

float VRageMath.Vector3.Dot ( Vector3  v)
inline

Definition at line 572 of file Vector3.cs.

float VRageMath.Vector3.Dot ( ref Vector3  v)
inline

Definition at line 577 of file Vector3.cs.

bool VRageMath.Vector3.Equals ( Vector3  other)
inline

Determines whether the specified Object is equal to the Vector3.

Parameters
otherThe Vector3 to compare with the current Vector3.

Definition at line 405 of file Vector3.cs.

bool VRageMath.Vector3.Equals ( Vector3  other,
float  epsilon 
)
inline

Definition at line 413 of file Vector3.cs.

override bool VRageMath.Vector3.Equals ( object  obj)
inline

Returns a value that indicates whether the current instance is equal to a specified object.

Parameters
objObject to make the comparison with.

Definition at line 422 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Floor ( Vector3  v)
inlinestatic

Definition at line 1882 of file Vector3.cs.

static void VRageMath.Vector3.GetAzimuthAndElevation ( Vector3  v,
out float  azimuth,
out float  elevation 
)
inlinestatic

Definition at line 1795 of file Vector3.cs.

float VRageMath.Vector3.GetDim ( int  i)
inline

Definition at line 1856 of file Vector3.cs.

long VRageMath.Vector3.GetHash ( )
inline

Gets the hash code of the vector object.

Definition at line 441 of file Vector3.cs.

override int VRageMath.Vector3.GetHashCode ( )
inline

Definition at line 430 of file Vector3.cs.

static bool VRageMath.Vector3.GetNormalized ( ref Vector3  value)
inlinestatic

Definition at line 625 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Hermite ( Vector3  value1,
Vector3  tangent1,
Vector3  value2,
Vector3  tangent2,
float  amount 
)
inlinestatic

Performs a Hermite spline interpolation.

Parameters
value1Source position vector.
tangent1Source tangent vector.
value2Source position vector.
tangent2Source tangent vector.
amountWeighting factor.

Definition at line 1142 of file Vector3.cs.

static void VRageMath.Vector3.Hermite ( ref Vector3  value1,
ref Vector3  tangent1,
ref Vector3  value2,
ref Vector3  tangent2,
float  amount,
out Vector3  result 
)
inlinestatic

Performs a Hermite spline interpolation.

Parameters
value1Source position vector.
tangent1Source tangent vector.
value2Source position vector.
tangent2Source tangent vector.
amountWeighting factor.
result[OutAttribute] The result of the Hermite spline interpolation.

Definition at line 1161 of file Vector3.cs.

void VRageMath.Vector3.Interpolate3 ( Vector3  v0,
Vector3  v1,
float  rt 
)
inline

Definition at line 323 of file Vector3.cs.

bool VRageMath.Vector3.IsInsideInclusive ( ref Vector3  min,
ref Vector3  max 
)
inline

Definition at line 1843 of file Vector3.cs.

static bool VRageMath.Vector3.IsUnit ( ref Vector3  value)
inlinestatic

Definition at line 343 of file Vector3.cs.

bool VRageMath.Vector3.IsValid ( )
inline

Definition at line 331 of file Vector3.cs.

static bool VRageMath.Vector3.IsZero ( Vector3  value)
inlinestatic

Definition at line 357 of file Vector3.cs.

static bool VRageMath.Vector3.IsZero ( Vector3  value,
float  epsilon 
)
inlinestatic

Definition at line 363 of file Vector3.cs.

static Vector3 VRageMath.Vector3.IsZeroVector ( Vector3  value)
inlinestatic

Definition at line 369 of file Vector3.cs.

static Vector3 VRageMath.Vector3.IsZeroVector ( Vector3  value,
float  epsilon 
)
inlinestatic

Definition at line 375 of file Vector3.cs.

float VRageMath.Vector3.Length ( )
inline

Calculates the length of the vector.

Definition at line 472 of file Vector3.cs.

float VRageMath.Vector3.LengthSquared ( )
inline

Calculates the length of the vector squared.

Definition at line 480 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Lerp ( Vector3  value1,
Vector3  value2,
float  amount 
)
inlinestatic

Performs a linear interpolation between two vectors.

Parameters
value1Source vector.
value2Source vector.
amountValue between 0 and 1 indicating the weight of value2.

Definition at line 1019 of file Vector3.cs.

static void VRageMath.Vector3.Lerp ( ref Vector3  value1,
ref Vector3  value2,
float  amount,
out Vector3  result 
)
inlinestatic

Performs a linear interpolation between two vectors.

Parameters
value1Source vector.
value2Source vector.
amountValue between 0 and 1 indicating the weight of value2.
result[OutAttribute] The result of the interpolation.

Definition at line 1032 of file Vector3.cs.

float VRageMath.Vector3.Max ( )
inline

Returns the component of the vector that is largest of all the three components.

Definition at line 787 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Max ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Returns a vector that contains the highest value from each matching pair of components.

Parameters
value1Source vector.
value2Source vector.

Definition at line 863 of file Vector3.cs.

static void VRageMath.Vector3.Max ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Returns a vector that contains the highest value from each matching pair of components.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The maximized vector.

Definition at line 876 of file Vector3.cs.

Vector3 VRageMath.Vector3.MaxAbsComponent ( )
inline

Keeps only component with maximal absolute, others are set to zero.

Definition at line 804 of file Vector3.cs.

float VRageMath.Vector3.Min ( )
inline

Returns the component of the vector that is smallest of all the three components.

Definition at line 753 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Min ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Returns a vector that contains the lowest value from each matching pair of components.

Parameters
value1Source vector.
value2Source vector.

Definition at line 839 of file Vector3.cs.

static void VRageMath.Vector3.Min ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Returns a vector that contains the lowest value from each matching pair of components.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The minimized vector.

Definition at line 852 of file Vector3.cs.

static void VRageMath.Vector3.MinMax ( ref Vector3  min,
ref Vector3  max 
)
inlinestatic

Separates minimal and maximal values of any two input vectors

Parameters
minminimal values of the two vectors
maxmaximal values of the two vectors

Definition at line 888 of file Vector3.cs.

void VRageMath.Vector3.Multiply ( float  scale)
inline

Definition at line 289 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Multiply ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Multiplies the components of two vectors by each other.

Parameters
value1Source vector.
value2Source vector.

Definition at line 1680 of file Vector3.cs.

static void VRageMath.Vector3.Multiply ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Multiplies the components of two vectors by each other.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The result of the multiplication.

Definition at line 1693 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Multiply ( Vector3  value1,
float  scaleFactor 
)
inlinestatic

Multiplies a vector by a scalar value.

Parameters
value1Source vector.
scaleFactorScalar value.

Definition at line 1704 of file Vector3.cs.

static void VRageMath.Vector3.Multiply ( ref Vector3  value1,
float  scaleFactor,
out Vector3  result 
)
inlinestatic

Multiplies a vector by a scalar value.

Parameters
value1Source vector.
scaleFactorScalar value.
result[OutAttribute] The result of the multiplication.

Definition at line 1717 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Negate ( Vector3  value)
inlinestatic

Returns a vector pointing in the opposite direction.

Parameters
valueSource vector.

Definition at line 1608 of file Vector3.cs.

static void VRageMath.Vector3.Negate ( ref Vector3  value,
out Vector3  result 
)
inlinestatic

Returns a vector pointing in the opposite direction.

Parameters
valueSource vector.
result[OutAttribute] Vector pointing in the opposite direction.

Definition at line 1621 of file Vector3.cs.

float VRageMath.Vector3.Normalize ( )
inline

Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector.

returns length

Definition at line 591 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Normalize ( Vector3  value)
inlinestatic

Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector.

Parameters
valueThe source Vector3.

Definition at line 605 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Normalize ( Vector3D  value)
inlinestatic

Definition at line 615 of file Vector3.cs.

static void VRageMath.Vector3.Normalize ( ref Vector3  value,
out Vector3  result 
)
inlinestatic

Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector.

Parameters
valueSource vector.
result[OutAttribute] The normalized vector.

Definition at line 646 of file Vector3.cs.

static bool VRageMath.Vector3.operator!= ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Tests vectors for inequality.

Parameters
value1Vector to compare.
value2Vector to compare.

Definition at line 154 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator* ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Multiplies the components of two vectors by each other.

Parameters
value1Source vector.
value2Source vector.

Definition at line 210 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator* ( Vector3  value,
float  scaleFactor 
)
inlinestatic

Multiplies a vector by a scalar value.

Parameters
valueSource vector.
scaleFactorScalar value.

Definition at line 223 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator* ( float  scaleFactor,
Vector3  value 
)
inlinestatic

Multiplies a vector by a scalar value.

Parameters
scaleFactorScalar value.
valueSource vector.

Definition at line 236 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator+ ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Adds two vectors.

Parameters
value1Source vector.
value2Source vector.

Definition at line 166 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator+ ( Vector3  value1,
float  value2 
)
inlinestatic

Definition at line 175 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator- ( Vector3  value)
inlinestatic

Returns a vector pointing in the opposite direction.

Parameters
valueSource vector.

Definition at line 129 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator- ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Subtracts a vector from a vector.

Parameters
value1Source vector.
value2Source vector.

Definition at line 188 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator- ( Vector3  value1,
float  value2 
)
inlinestatic

Definition at line 197 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator/ ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Divides the components of a vector by the components of another vector.

Parameters
value1Source vector.
value2Divisor vector.

Definition at line 249 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator/ ( Vector3  value,
float  divider 
)
inlinestatic

Divides a vector by a scalar value.

Parameters
valueSource vector.
dividerThe divisor.

Definition at line 262 of file Vector3.cs.

static Vector3 VRageMath.Vector3.operator/ ( float  value,
Vector3  divider 
)
inlinestatic

Definition at line 272 of file Vector3.cs.

static bool VRageMath.Vector3.operator== ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Tests vectors for equality.

Parameters
value1Source vector.
value2Source vector.

Definition at line 142 of file Vector3.cs.

static float VRageMath.Vector3.RectangularDistance ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors.

Parameters
value1Source vector.
value2Source vector.

Definition at line 538 of file Vector3.cs.

static float VRageMath.Vector3.RectangularDistance ( ref Vector3  value1,
ref Vector3  value2 
)
inlinestatic

Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors.

Parameters
value1Source vector.
value2Source vector.

Definition at line 548 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Reflect ( Vector3  vector,
Vector3  normal 
)
inlinestatic

Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample.

Parameters
vectorSource vector.
normalNormal of the surface.

Definition at line 685 of file Vector3.cs.

static void VRageMath.Vector3.Reflect ( ref Vector3  vector,
ref Vector3  normal,
out Vector3  result 
)
inlinestatic

Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample.

Parameters
vectorSource vector.
normalNormal of the surface.
result[OutAttribute] The reflected vector.

Definition at line 699 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Reject ( Vector3  vector,
Vector3  direction 
)
inlinestatic

Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction

Parameters
vectorVector which is to be rejected
directionDirection from which the input vector will be rejected
Returns
Rejection of the vector from the given direction

Definition at line 713 of file Vector3.cs.

static void VRageMath.Vector3.Reject ( ref Vector3  vector,
ref Vector3  direction,
out Vector3  result 
)
inlinestatic

Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction

Parameters
vectorVector which is to be rejected
directionDirection from which the input vector will be rejected
resultRejection of the vector from the given direction

Definition at line 726 of file Vector3.cs.

static void VRageMath.Vector3.RotateAndScale ( ref Vector3  vector,
ref Matrix  matrix,
out Vector3  result 
)
inlinestatic

Transform the provided vector only about the rotation and scale terms of a matrix.

Definition at line 1267 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Round ( Vector3  v)
inlinestatic

Definition at line 1887 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Round ( Vector3  v,
int  numDecimals 
)
inlinestatic

Definition at line 1892 of file Vector3.cs.

void VRageMath.Vector3.SetDim ( int  i,
float  value 
)
inline

Definition at line 1866 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Sign ( Vector3  value)
inlinestatic

Definition at line 308 of file Vector3.cs.

static Vector3 VRageMath.Vector3.SignNonZero ( Vector3  value)
inlinestatic

Returns per component sign, never returns zero. For zero component returns sign 1. Faster than Sign.

Definition at line 318 of file Vector3.cs.

static Vector3 VRageMath.Vector3.SmoothStep ( Vector3  value1,
Vector3  value2,
float  amount 
)
inlinestatic

Interpolates between two values using a cubic equation.

Parameters
value1Source value.
value2Source value.
amountWeighting value.

Definition at line 1086 of file Vector3.cs.

static void VRageMath.Vector3.SmoothStep ( ref Vector3  value1,
ref Vector3  value2,
float  amount,
out Vector3  result 
)
inlinestatic

Interpolates between two values using a cubic equation.

Parameters
value1Source vector.
value2Source vector.
amountWeighting value.
result[OutAttribute] The interpolated value.

Definition at line 1101 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Step ( Vector3  value)
inlinestatic

Definition at line 381 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Subtract ( Vector3  value1,
Vector3  value2 
)
inlinestatic

Subtracts a vector from a vector.

Parameters
value1Source vector.
value2Source vector.

Definition at line 1656 of file Vector3.cs.

static void VRageMath.Vector3.Subtract ( ref Vector3  value1,
ref Vector3  value2,
out Vector3  result 
)
inlinestatic

Subtracts a vector from a vector.

Parameters
value1Source vector.
value2Source vector.
result[OutAttribute] The result of the subtraction.

Definition at line 1669 of file Vector3.cs.

static Vector3 VRageMath.Vector3.SwapYZCoordinates ( Vector3  v)
inlinestatic

Definition at line 1851 of file Vector3.cs.

override string VRageMath.Vector3.ToString ( )
inline

Retrieves a string representation of the current object.

Definition at line 389 of file Vector3.cs.

string VRageMath.Vector3.ToString ( string  format)
inline

Definition at line 395 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Transform ( Vector3  position,
Matrix  matrix 
)
inlinestatic

Transforms a 3D vector by the given matrix.

Parameters
positionThe source vector.
matrixThe transformation matrix.

Definition at line 1178 of file Vector3.cs.

static Vector3D VRageMath.Vector3.Transform ( Vector3  position,
MatrixD  matrix 
)
inlinestatic

Transforms a 3D vector by the given matrix.

Parameters
positionThe source vector.
matrixThe transformation matrix.

Definition at line 1201 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Transform ( Vector3  position,
ref Matrix  matrix 
)
inlinestatic

Definition at line 1215 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( ref Vector3  position,
ref Matrix  matrix,
out Vector3  result 
)
inlinestatic

Transforms a Vector3 by the given Matrix.

Parameters
positionThe source Vector3.
matrixThe transformation Matrix.
result[OutAttribute] The transformed vector.

Definition at line 1225 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( ref Vector3  position,
ref MatrixI  matrix,
out Vector3  result 
)
inlinestatic

Definition at line 1240 of file Vector3.cs.

static Vector3 VRageMath.Vector3.Transform ( Vector3  value,
Quaternion  rotation 
)
inlinestatic

Transforms a Vector3 by a specified Quaternion rotation.

Parameters
valueThe Vector3 to rotate.
rotationThe Quaternion rotation to apply.

Definition at line 1404 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( ref Vector3  value,
ref Quaternion  rotation,
out Vector3  result 
)
inlinestatic

Transforms a Vector3 by a specified Quaternion rotation.

Parameters
valueThe Vector3 to rotate.
rotationThe Quaternion rotation to apply.
result[OutAttribute] An existing Vector3 filled in with the results of the rotation.

Definition at line 1432 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( Vector3[]  sourceArray,
ref Matrix  matrix,
Vector3[]  destinationArray 
)
inlinestatic

Transforms a source array of Vector3s by a specified Matrix and writes the results to an existing destination array.

Parameters
sourceArrayThe source array.
matrixThe transform Matrix to apply.
destinationArrayAn existing destination array into which the transformed Vector3s are written.

Definition at line 1458 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( Vector3[]  sourceArray,
int  sourceIndex,
ref Matrix  matrix,
Vector3[]  destinationArray,
int  destinationIndex,
int  length 
)
inlinestatic

Applies a specified transform Matrix to a specified range of an array of Vector3s and writes the results into a specified range of a destination array.

Parameters
sourceArrayThe source array.
sourceIndexThe index in the source array at which to start.
matrixThe transform Matrix to apply.
destinationArrayThe existing destination array.
destinationIndexThe index in the destination array at which to start.
lengthThe number of Vector3s to transform.

Definition at line 1475 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( Vector3[]  sourceArray,
ref Quaternion  rotation,
Vector3[]  destinationArray 
)
inlinestatic

Transforms a source array of Vector3s by a specified Quaternion rotation and writes the results to an existing destination array.

Parameters
sourceArrayThe source array.
rotationThe Quaternion rotation to apply.
destinationArrayAn existing destination array into which the transformed Vector3s are written.

Definition at line 1530 of file Vector3.cs.

static void VRageMath.Vector3.Transform ( Vector3[]  sourceArray,
int  sourceIndex,
ref Quaternion  rotation,
Vector3[]  destinationArray,
int  destinationIndex,
int  length 
)
inlinestatic

Applies a specified Quaternion rotation to a specified range of an array of Vector3s and writes the results into a specified range of a destination array.

Parameters
sourceArrayThe source array.
sourceIndexThe index in the source array at which to start.
rotationThe Quaternion rotation to apply.
destinationArrayThe existing destination array.
destinationIndexThe index in the destination array at which to start.
lengthThe number of Vector3s to transform.

Definition at line 1568 of file Vector3.cs.

static void VRageMath.Vector3.TransformNoProjection ( ref Vector3  vector,
ref Matrix  matrix,
out Vector3  result 
)
inlinestatic

Transform the provided vector only about the rotation, scale and translation terms of a matrix.

This effectively treats the matrix as a 3x4 matrix and the input vector as a 4 dimensional vector with unit W coordinate.

Definition at line 1253 of file Vector3.cs.

static Vector3 VRageMath.Vector3.TransformNormal ( Vector3  normal,
Matrix  matrix 
)
inlinestatic

Transforms a 3D vector normal by a matrix.

Parameters
normalThe source vector.
matrixThe transformation matrix.

Definition at line 1306 of file Vector3.cs.

static Vector3 VRageMath.Vector3.TransformNormal ( Vector3  normal,
MatrixD  matrix 
)
inlinestatic

Transforms a 3D vector normal by a matrix.

Parameters
normalThe source vector.
matrixThe transformation matrix.

Definition at line 1322 of file Vector3.cs.

static Vector3 VRageMath.Vector3.TransformNormal ( Vector3D  normal,
Matrix  matrix 
)
inlinestatic

Transforms a 3D vector normal by a matrix.

Parameters
normalThe source vector.
matrixThe transformation matrix.

Definition at line 1338 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( ref Vector3  normal,
ref Matrix  matrix,
out Vector3  result 
)
inlinestatic

Transforms a vector normal by a matrix.

Parameters
normalThe source vector.
matrixThe transformation Matrix.
result[OutAttribute] The Vector3 resulting from the transformation.

Definition at line 1354 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( ref Vector3  normal,
ref MatrixD  matrix,
out Vector3  result 
)
inlinestatic

Definition at line 1363 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( ref Vector3  normal,
ref MatrixI  matrix,
out Vector3  result 
)
inlinestatic

Definition at line 1373 of file Vector3.cs.

static Vector3 VRageMath.Vector3.TransformNormal ( Vector3  normal,
MyBlockOrientation  orientation 
)
inlinestatic

Definition at line 1380 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( ref Vector3  normal,
MyBlockOrientation  orientation,
out Vector3  result 
)
inlinestatic

Definition at line 1387 of file Vector3.cs.

static Vector3 VRageMath.Vector3.TransformNormal ( Vector3  normal,
ref Matrix  matrix 
)
inlinestatic

Definition at line 1394 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( Vector3[]  sourceArray,
ref Matrix  matrix,
Vector3[]  destinationArray 
)
inlinestatic

Transforms an array of 3D vector normals by a specified Matrix.

Parameters
sourceArrayThe array of Vector3 normals to transform.
matrixThe transform matrix to apply.
destinationArrayAn existing Vector3 array into which the results of the transforms are written.

Definition at line 1494 of file Vector3.cs.

static void VRageMath.Vector3.TransformNormal ( Vector3[]  sourceArray,
int  sourceIndex,
ref Matrix  matrix,
Vector3[]  destinationArray,
int  destinationIndex,
int  length 
)
inlinestatic

Transforms a specified range in an array of 3D vector normals by a specified Matrix and writes the results to a specified range in a destination array.

Parameters
sourceArrayThe source array of Vector3 normals.
sourceIndexThe starting index in the source array.
matrixThe transform Matrix to apply.
destinationArrayThe destination Vector3 array.
destinationIndexThe starting index in the destination array.
lengthThe number of vectors to transform.

Definition at line 1511 of file Vector3.cs.

long VRageMath.Vector3.VolumeInt ( float  multiplier)
inline

Definition at line 1838 of file Vector3.cs.

Member Data Documentation

Vector3 VRageMath.Vector3.Backward = new Vector3(0.0f, 0.0f, 1f)
static

Definition at line 41 of file Vector3.cs.

Vector3 VRageMath.Vector3.Down = new Vector3(0.0f, -1f, 0.0f)
static

Definition at line 37 of file Vector3.cs.

Vector3 VRageMath.Vector3.Forward = new Vector3(0.0f, 0.0f, -1f)
static

Definition at line 40 of file Vector3.cs.

Vector3 VRageMath.Vector3.Half = new Vector3(0.5f, 0.5f, 0.5f)
static

Definition at line 30 of file Vector3.cs.

Vector3 VRageMath.Vector3.Invalid = new Vector3(float.NaN)
static

Definition at line 44 of file Vector3.cs.

Vector3 VRageMath.Vector3.Left = new Vector3(-1f, 0.0f, 0.0f)
static

Definition at line 39 of file Vector3.cs.

Vector3 VRageMath.Vector3.MaxValue = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue)
static

Definition at line 42 of file Vector3.cs.

Vector3 VRageMath.Vector3.MinusOne = new Vector3(-1f, -1f, -1f)
static

Definition at line 29 of file Vector3.cs.

Vector3 VRageMath.Vector3.MinValue = new Vector3(float.MinValue, float.MinValue, float.MinValue)
static

Definition at line 43 of file Vector3.cs.

Vector3 VRageMath.Vector3.NegativeInfinity = new Vector3(float.NegativeInfinity)
static

Definition at line 32 of file Vector3.cs.

Vector3 VRageMath.Vector3.One = new Vector3(1f, 1f, 1f)
static

Definition at line 28 of file Vector3.cs.

Vector3 VRageMath.Vector3.PositiveInfinity = new Vector3(float.PositiveInfinity)
static

Definition at line 31 of file Vector3.cs.

Vector3 VRageMath.Vector3.Right = new Vector3(1f, 0.0f, 0.0f)
static

Definition at line 38 of file Vector3.cs.

Vector3 VRageMath.Vector3.UnitX = new Vector3(1f, 0.0f, 0.0f)
static

Definition at line 33 of file Vector3.cs.

Vector3 VRageMath.Vector3.UnitY = new Vector3(0.0f, 1f, 0.0f)
static

Definition at line 34 of file Vector3.cs.

Vector3 VRageMath.Vector3.UnitZ = new Vector3(0.0f, 0.0f, 1f)
static

Definition at line 35 of file Vector3.cs.

Vector3 VRageMath.Vector3.Up = new Vector3(0.0f, 1f, 0.0f)
static

Definition at line 36 of file Vector3.cs.

float VRageMath.Vector3.X

Gets or sets the x-component of the vector.

Definition at line 49 of file Vector3.cs.

float VRageMath.Vector3.Y

Gets or sets the y-component of the vector.

Definition at line 54 of file Vector3.cs.

float VRageMath.Vector3.Z

Gets or sets the z-component of the vector.

Definition at line 59 of file Vector3.cs.

Vector3 VRageMath.Vector3.Zero = new Vector3()
static

Definition at line 27 of file Vector3.cs.

Property Documentation

float VRageMath.Vector3.Sum
get

Definition at line 1823 of file Vector3.cs.

float VRageMath.Vector3.Volume
get

Definition at line 1831 of file Vector3.cs.


The documentation for this struct was generated from the following file: