Struct Vector3Base
Represents a three dimensional mathematical vector.
Inherited Members
Assembly: FlaxEngine.dll
File: Engine/Core/Math/Vector3.h
Syntax
public struct Vector3Base<T>
Type Parameters
T
|
Constructors
Vector3Base()
Empty constructor.
Declaration
public Vector3Base() = default
Fields
Backward
Declaration
public static FLAXENGINE_API Vector3Base<T> Backward
Field Value
FLAXENGINE_API Vector3Base<T>
|
Down
Declaration
public static FLAXENGINE_API Vector3Base<T> Down
Field Value
FLAXENGINE_API Vector3Base<T>
|
Forward
Declaration
public static FLAXENGINE_API Vector3Base<T> Forward
Field Value
FLAXENGINE_API Vector3Base<T>
|
Half
Declaration
public static FLAXENGINE_API Vector3Base<T> Half
Field Value
FLAXENGINE_API Vector3Base<T>
|
Left
Declaration
public static FLAXENGINE_API Vector3Base<T> Left
Field Value
FLAXENGINE_API Vector3Base<T>
|
Maximum
Declaration
public static FLAXENGINE_API Vector3Base<T> Maximum
Field Value
FLAXENGINE_API Vector3Base<T>
|
Minimum
Declaration
public static FLAXENGINE_API Vector3Base<T> Minimum
Field Value
FLAXENGINE_API Vector3Base<T>
|
One
Declaration
public static FLAXENGINE_API Vector3Base<T> One
Field Value
FLAXENGINE_API Vector3Base<T>
|
Raw
The raw vector values (in XYZ order).
Declaration
public T Raw[3]
Field Value
T
|
Right
Declaration
public static FLAXENGINE_API Vector3Base<T> Right
Field Value
FLAXENGINE_API Vector3Base<T>
|
TypeInitializer
Declaration
public static FLAXENGINE_API struct ScriptingTypeInitializer TypeInitializer
Field Value
FLAXENGINE_API struct ScriptingTypeInitializer
|
UnitX
Declaration
public static FLAXENGINE_API Vector3Base<T> UnitX
Field Value
FLAXENGINE_API Vector3Base<T>
|
UnitY
Declaration
public static FLAXENGINE_API Vector3Base<T> UnitY
Field Value
FLAXENGINE_API Vector3Base<T>
|
UnitZ
Declaration
public static FLAXENGINE_API Vector3Base<T> UnitZ
Field Value
FLAXENGINE_API Vector3Base<T>
|
Up
Declaration
public static FLAXENGINE_API Vector3Base<T> Up
Field Value
FLAXENGINE_API Vector3Base<T>
|
X
The X component.
Declaration
public T X
Field Value
T
|
Y
The Y component.
Declaration
public T Y
Field Value
T
|
Z
The Z component.
Declaration
public T Z
Field Value
T
|
Zero
Declaration
public static FLAXENGINE_API Vector3Base<T> Zero
Field Value
FLAXENGINE_API Vector3Base<T>
|
Methods
Abs(const Vector3Base& v)
Declaration
public static Vector3Base Abs(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
Add(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Add(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
Angle(const Vector3Base& from, const Vector3Base& to)
Calculates the angle (in degrees) between from and to vectors. This is always the smallest value.
Declaration
public static FLAXENGINE_API T Angle(const Vector3Base& from, const Vector3Base& to)
Parameters
Vector3Base
from
The first vector. |
Vector3Base
to
The second vector. |
Returns
FLAXENGINE_API T
The angle (in degrees). |
AverageArithmetic()
Returns the average arithmetic of all the components.
Declaration
public T AverageArithmetic() const
Returns
T
|
Ceil(const Vector3Base& v)
Declaration
public static Vector3Base Ceil(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
Clamp(const Vector3Base& v, const Vector3Base& min, const Vector3Base& max)
Declaration
public static Vector3Base Clamp(const Vector3Base& v, const Vector3Base& min, const Vector3Base& max)
Parameters
Vector3Base
v
|
Vector3Base
min
|
Vector3Base
max
|
Returns
Vector3Base
|
Clamp(const Vector3Base& v, const Vector3Base& min, const Vector3Base& max, Vector3Base& result)
Declaration
public static void Clamp(const Vector3Base& v, const Vector3Base& min, const Vector3Base& max, Vector3Base& result)
Parameters
Vector3Base
v
|
Vector3Base
min
|
Vector3Base
max
|
Vector3Base
result
|
ClampLength(const Vector3Base& v, float max)
Makes sure that Length of the output vector is always below max and above 0.
Declaration
public static Vector3Base ClampLength(const Vector3Base& v, float max)
Parameters
Vector3Base
v
Input Vector. |
float
max
Max Length |
Returns
Vector3Base
|
ClampLength(const Vector3Base& v, float min, float max)
Makes sure that Length of the output vector is always below max and above min.
Declaration
public static Vector3Base ClampLength(const Vector3Base& v, float min, float max)
Parameters
Vector3Base
v
Input Vector. |
float
min
Min Length |
float
max
Max Length |
Returns
Vector3Base
|
ClampLength(const Vector3Base& v, float min, float max, Vector3Base& result)
Makes sure that Length of the output vector is always below max and above min.
Declaration
public static void ClampLength(const Vector3Base& v, float min, float max, Vector3Base& result)
Parameters
Vector3Base
v
Input Vector. |
float
min
Min Length |
float
max
Max Length |
Vector3Base
result
The result vector. |
CreateOrthonormalBasis(Vector3Base& xAxis, Vector3Base& yAxis, Vector3Base& zAxis)
Creates an orthonormal basis from a basis with at least two orthogonal vectors.
Declaration
public static FLAXENGINE_API void CreateOrthonormalBasis(Vector3Base& xAxis, Vector3Base& yAxis, Vector3Base& zAxis)
Parameters
Vector3Base
xAxis
The X axis. |
Vector3Base
yAxis
The y axis. |
Vector3Base
zAxis
The z axis. |
Returns
FLAXENGINE_API void
|
Cross(const Vector3Base& a, const Vector3Base& b)
Declaration
public static Vector3Base Cross(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
Vector3Base
|
Cross(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Cross(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
Distance(const Vector3Base& a, const Vector3Base& b)
Declaration
public static T Distance(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
T
|
DistanceSquared(const Vector3Base& a, const Vector3Base& b)
Declaration
public static T DistanceSquared(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
T
|
Divide(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Divide(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
Dot(const Vector3Base& a, const Vector3Base& b)
Declaration
public static T Dot(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
T
|
FindBestAxisVectors(Vector3Base& firstAxis, Vector3Base& secondAxis)
Finds the best arbitrary axis vectors to represent U and V axes of a plane, by using this vector as the normal of the plane.
Declaration
public FLAXENGINE_API void FindBestAxisVectors(Vector3Base& firstAxis, Vector3Base& secondAxis) const
Parameters
Vector3Base
firstAxis
The reference to first axis. |
Vector3Base
secondAxis
The reference to second axis. |
Returns
FLAXENGINE_API void
|
Floor(const Vector3Base& v)
Declaration
public static Vector3Base Floor(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
Frac(const Vector3Base& v)
Declaration
public static Vector3Base Frac(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
GetAbsolute()
Calculates a vector with values being absolute values of that vector.
Declaration
public Vector3Base GetAbsolute() const
Returns
Vector3Base
|
GetNegative()
Calculates a vector with values being opposite to values of that vector.
Declaration
public Vector3Base GetNegative() const
Returns
Vector3Base
|
GetNormalized()
Calculates a normalized vector that has length equal to 1.
Declaration
public Vector3Base GetNormalized() const
Returns
Vector3Base
|
Hermite(const Vector3Base& value1, const Vector3Base& tangent1, const Vector3Base& value2, const Vector3Base& tangent2, T amount, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Hermite(const Vector3Base& value1, const Vector3Base& tangent1, const Vector3Base& value2, const Vector3Base& tangent2, T amount, Vector3Base& result)
Parameters
Vector3Base
value1
|
Vector3Base
tangent1
|
Vector3Base
value2
|
Vector3Base
tangent2
|
T
amount
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
InvLength()
Declaration
public T InvLength() const
Returns
T
|
IsAnyZero()
Declaration
public bool IsAnyZero() const
Returns
bool
|
IsInfinity()
Returns true if vector has one or more components equal to +/- infinity.
Declaration
public bool IsInfinity() const
Returns
bool
|
IsNaN()
Returns true if vector has one or more components is not a number (NaN).
Declaration
public bool IsNaN() const
Returns
bool
|
IsNanOrInfinity()
Returns true if vector has one or more components equal to +/- infinity or NaN.
Declaration
public bool IsNanOrInfinity() const
Returns
bool
|
IsNormalized()
Declaration
public bool IsNormalized() const
Returns
bool
|
IsOne()
Declaration
public bool IsOne() const
Returns
bool
|
IsZero()
Declaration
public bool IsZero() const
Returns
bool
|
Length()
Declaration
public T Length() const
Returns
T
|
LengthSquared()
Declaration
public T LengthSquared() const
Returns
T
|
Lerp(const Vector3Base& start, const Vector3Base& end, T amount)
Declaration
public static Vector3Base Lerp(const Vector3Base& start, const Vector3Base& end, T amount)
Parameters
Vector3Base
start
|
Vector3Base
end
|
T
amount
|
Returns
Vector3Base
|
Lerp(const Vector3Base& start, const Vector3Base& end, T amount, Vector3Base& result)
Declaration
public static void Lerp(const Vector3Base& start, const Vector3Base& end, T amount, Vector3Base& result)
Parameters
Vector3Base
start
|
Vector3Base
end
|
T
amount
|
Vector3Base
result
|
Max(const Vector3Base& a, const Vector3Base& b)
Declaration
public static Vector3Base Max(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
Vector3Base
|
Max(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Max(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
MaxValue()
Returns the maximum value of all the components.
Declaration
public T MaxValue() const
Returns
T
|
Min(const Vector3Base& a, const Vector3Base& b)
Declaration
public static Vector3Base Min(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
Vector3Base
|
Min(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Min(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
MinValue()
Returns the minimum value of all the components.
Declaration
public T MinValue() const
Returns
T
|
Mod(const Vector3Base& a, const Vector3Base& b)
Declaration
public static Vector3Base Mod(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
Vector3Base
|
MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta)
Moves a value current towards target.
Declaration
public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta)
Parameters
Vector3
current
The position to move from. |
Vector3
target
The position to move towards. |
float
maxDistanceDelta
The maximum distance that can be applied to the value. |
Returns
Vector3
The new position. |
Multiply(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Multiply(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
NearEqual(const Vector3Base& a, const Vector3Base& b)
Declaration
public static bool NearEqual(const Vector3Base& a, const Vector3Base& b)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Returns
bool
|
NearEqual(const Vector3Base& a, const Vector3Base& b, T epsilon)
Declaration
public static bool NearEqual(const Vector3Base& a, const Vector3Base& b, T epsilon)
Parameters
Vector3Base
a
|
Vector3Base
b
|
T
epsilon
|
Returns
bool
|
Normalize()
Performs vector normalization (scales vector up to unit length).
Declaration
public void Normalize()
Normalize(const Vector3Base& input, Vector3Base& result)
Declaration
public static void Normalize(const Vector3Base& input, Vector3Base& result)
Parameters
Vector3Base
input
|
Vector3Base
result
|
Returns
void
|
Normalize(const Vector3Base& v)
Declaration
public static Vector3Base Normalize(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
NormalizeFast()
Performs fast vector normalization (scales vector up to unit length).
Declaration
public void NormalizeFast()
NormalizeFast(const Vector3Base& v)
Declaration
public static Vector3Base NormalizeFast(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
operator!=(const Vector3Base& b)
Declaration
public bool operator!=(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
bool
|
operator-()
operator-(const Vector3Base& b)
Declaration
public Vector3Base operator-(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator-(T b)
operator-(typename TOtherFloat<T>::Type a)
Declaration
public Vector3Base operator-(typename TOtherFloat<T>::Type a) const
Parameters
typename TOtherFloat<T>::Type
a
|
Returns
Vector3Base
|
operator*(const Vector3Base& b)
Declaration
public Vector3Base operator*(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator*(T b)
operator*(typename TOtherFloat<T>::Type a)
Declaration
public Vector3Base operator*(typename TOtherFloat<T>::Type a) const
Parameters
typename TOtherFloat<T>::Type
a
|
Returns
Vector3Base
|
operator*=(const Vector3Base& b)
Declaration
public Vector3Base operator*=(const Vector3Base& b)
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator*=(T b)
operator/(const Vector3Base& b)
Declaration
public Vector3Base operator/(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator/(T b)
operator/(typename TOtherFloat<T>::Type a)
Declaration
public Vector3Base operator/(typename TOtherFloat<T>::Type a) const
Parameters
typename TOtherFloat<T>::Type
a
|
Returns
Vector3Base
|
operator/=(const Vector3Base& b)
Declaration
public Vector3Base operator/=(const Vector3Base& b)
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator/=(T b)
operator^(const Vector3Base& b)
Declaration
public Vector3Base operator^(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator|(const Vector3Base& b)
operator+(const Vector3Base& b)
Declaration
public Vector3Base operator+(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator+(T b)
operator+(typename TOtherFloat<T>::Type a)
Declaration
public Vector3Base operator+(typename TOtherFloat<T>::Type a) const
Parameters
typename TOtherFloat<T>::Type
a
|
Returns
Vector3Base
|
operator+=(const Vector3Base& b)
Declaration
public Vector3Base operator+=(const Vector3Base& b)
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator+=(T b)
operator<(const Vector3Base& b)
operator<=(const Vector3Base& b)
Declaration
public bool operator<=(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
bool
|
operator-=(const Vector3Base& b)
Declaration
public Vector3Base operator-=(const Vector3Base& b)
Parameters
Vector3Base
b
|
Returns
Vector3Base
|
operator-=(T b)
operator==(const Vector3Base& b)
Declaration
public bool operator==(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
bool
|
operator>(const Vector3Base& b)
operator>=(const Vector3Base& b)
Declaration
public bool operator>=(const Vector3Base& b) const
Parameters
Vector3Base
b
|
Returns
bool
|
Project(const Vector3Base& vector, const Vector3Base& onNormal)
Projects a vector onto another vector.
Declaration
public static FLAXENGINE_API Vector3Base Project(const Vector3Base& vector, const Vector3Base& onNormal)
Parameters
Vector3Base
vector
The vector to project. |
Vector3Base
onNormal
The projection normal vector. |
Returns
FLAXENGINE_API Vector3Base
The projected vector. |
Project(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection)
Declaration
public static Vector3Base Project(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection)
Parameters
Vector3Base
vector
|
float
x
|
float
y
|
float
width
|
float
height
|
float
minZ
|
float
maxZ
|
Matrix
worldViewProjection
|
Returns
Vector3Base
|
Project(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Project(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection, Vector3Base& result)
Parameters
Vector3Base
vector
|
float
x
|
float
y
|
float
width
|
float
height
|
float
minZ
|
float
maxZ
|
Matrix
worldViewProjection
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
ProjectOnPlane(const Vector3Base& vector, const Vector3Base& planeNormal)
Projects a vector onto a plane defined by a normal orthogonal to the plane.
Declaration
public static Vector3Base ProjectOnPlane(const Vector3Base& vector, const Vector3Base& planeNormal)
Parameters
Vector3Base
vector
The vector to project. |
Vector3Base
planeNormal
The plane normal vector. |
Returns
Vector3Base
The projected vector. |
Reflect(const Vector3Base& vector, const Vector3Base& normal, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Reflect(const Vector3Base& vector, const Vector3Base& normal, Vector3Base& result)
Parameters
Vector3Base
vector
|
Vector3Base
normal
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
Round(const Vector3Base& v)
Declaration
public static Vector3Base Round(const Vector3Base& v)
Parameters
Vector3Base
v
|
Returns
Vector3Base
|
SignedAngle(const Vector3Base& from, const Vector3Base& to, const Vector3Base& axis)
Calculates the signed angle (in degrees) between from and to vectors. This is always the smallest value. The sign of the result depends on: the order of input vectors, and the direction of the axis vector.
Declaration
public static FLAXENGINE_API T SignedAngle(const Vector3Base& from, const Vector3Base& to, const Vector3Base& axis)
Parameters
Vector3Base
from
The first vector. |
Vector3Base
to
The second vector. |
Vector3Base
axis
The axis around which the vectors are rotated. |
Returns
FLAXENGINE_API T
The angle (in degrees). |
SmoothStep(const Vector3Base& start, const Vector3Base& end, T amount, Vector3Base& result)
Declaration
public static void SmoothStep(const Vector3Base& start, const Vector3Base& end, T amount, Vector3Base& result)
Parameters
Vector3Base
start
|
Vector3Base
end
|
T
amount
|
Vector3Base
result
|
SnapToGrid(const Vector3Base& point, const Vector3Base& gridSize, const Quaternion& gridOrientation, const Vector3Base& gridOrigin=Zero, const Vector3Base& offset=Zero)
Snaps the point onto the rotated grid. For world aligned grid snapping use SnapToGrid(const Vector3Base& pos, const Vector3Base& gridSize) instead.
Declaration
public static FLAXENGINE_API Vector3Base SnapToGrid(const Vector3Base& point, const Vector3Base& gridSize, const Quaternion& gridOrientation, const Vector3Base& gridOrigin=Zero, const Vector3Base& offset=Zero)
Parameters
Vector3Base
point
The position to snap. |
Vector3Base
gridSize
The size of the grid. |
Quaternion
gridOrientation
The rotation of the grid. |
Vector3Base
gridOrigin
The center point of the grid. |
Vector3Base
offset
The local position offset applied to the snapped position before grid rotation. |
Returns
FLAXENGINE_API Vector3Base
The position snapped to the grid. |
SnapToGrid(const Vector3Base& pos, const Vector3Base& gridSize)
Snaps the input position onto the grid.
Declaration
public static FLAXENGINE_API Vector3Base SnapToGrid(const Vector3Base& pos, const Vector3Base& gridSize)
Parameters
Vector3Base
pos
The position to snap. |
Vector3Base
gridSize
The size of the grid. |
Returns
FLAXENGINE_API Vector3Base
The position snapped to the grid. |
Subtract(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Declaration
public static void Subtract(const Vector3Base& a, const Vector3Base& b, Vector3Base& result)
Parameters
Vector3Base
a
|
Vector3Base
b
|
Vector3Base
result
|
SumValues()
Gets the sum of all vector components values.
Declaration
public T SumValues() const
Returns
T
|
ToString()
Declaration
public FLAXENGINE_API String ToString() const
Returns
FLAXENGINE_API String
|
Transform(const Vector3Base& vector, const ::Transform& transform)
Declaration
public static FLAXENGINE_API Vector3Base Transform(const Vector3Base& vector, const ::Transform& transform)
Parameters
Vector3Base
vector
|
::Transform
transform
|
Returns
FLAXENGINE_API Vector3Base
|
Transform(const Vector3Base& vector, const ::Transform& transform, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Transform(const Vector3Base& vector, const ::Transform& transform, Vector3Base& result)
Parameters
Vector3Base
vector
|
::Transform
transform
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
Transform(const Vector3Base& vector, const Matrix& transform)
Declaration
public static FLAXENGINE_API Vector3Base Transform(const Vector3Base& vector, const Matrix& transform)
Parameters
Vector3Base
vector
|
Matrix
transform
|
Returns
FLAXENGINE_API Vector3Base
|
Transform(const Vector3Base& vector, const Matrix& transform, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Transform(const Vector3Base& vector, const Matrix& transform, Vector3Base& result)
Parameters
Vector3Base
vector
|
Matrix
transform
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
Transform(const Vector3Base& vector, const Matrix& transform, Vector4Base<T>& result)
Declaration
public static FLAXENGINE_API void Transform(const Vector3Base& vector, const Matrix& transform, Vector4Base<T>& result)
Parameters
Vector3Base
vector
|
Matrix
transform
|
Vector4Base<T>
result
|
Returns
FLAXENGINE_API void
|
Transform(const Vector3Base& vector, const Matrix3x3& transform, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Transform(const Vector3Base& vector, const Matrix3x3& transform, Vector3Base& result)
Parameters
Vector3Base
vector
|
Matrix3x3
transform
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
Transform(const Vector3Base& vector, const Quaternion& rotation)
Declaration
public static FLAXENGINE_API Vector3Base Transform(const Vector3Base& vector, const Quaternion& rotation)
Parameters
Vector3Base
vector
|
Quaternion
rotation
|
Returns
FLAXENGINE_API Vector3Base
|
Transform(const Vector3Base& vector, const Quaternion& rotation, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Transform(const Vector3Base& vector, const Quaternion& rotation, Vector3Base& result)
Parameters
Vector3Base
vector
|
Quaternion
rotation
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
TransformCoordinate(const Vector3Base& coordinate, const Matrix& transform, Vector3Base& result)
Declaration
public static FLAXENGINE_API void TransformCoordinate(const Vector3Base& coordinate, const Matrix& transform, Vector3Base& result)
Parameters
Vector3Base
coordinate
|
Matrix
transform
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
TransformNormal(const Vector3Base& normal, const Matrix& transform, Vector3Base& result)
Declaration
public static FLAXENGINE_API void TransformNormal(const Vector3Base& normal, const Matrix& transform, Vector3Base& result)
Parameters
Vector3Base
normal
|
Matrix
transform
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
TriangleArea(const Vector3Base& v0, const Vector3Base& v1, const Vector3Base& v2)
Calculates the area of the triangle.
Declaration
public static FLAXENGINE_API T TriangleArea(const Vector3Base& v0, const Vector3Base& v1, const Vector3Base& v2)
Parameters
Vector3Base
v0
The first triangle vertex. |
Vector3Base
v1
The second triangle vertex. |
Vector3Base
v2
The third triangle vertex. |
Returns
FLAXENGINE_API T
The triangle area. |
Unproject(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection)
Declaration
public static Vector3Base Unproject(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection)
Parameters
Vector3Base
vector
|
float
x
|
float
y
|
float
width
|
float
height
|
float
minZ
|
float
maxZ
|
Matrix
worldViewProjection
|
Returns
Vector3Base
|
Unproject(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection, Vector3Base& result)
Declaration
public static FLAXENGINE_API void Unproject(const Vector3Base& vector, float x, float y, float width, float height, float minZ, float maxZ, const Matrix& worldViewProjection, Vector3Base& result)
Parameters
Vector3Base
vector
|
float
x
|
float
y
|
float
width
|
float
height
|
float
minZ
|
float
maxZ
|
Matrix
worldViewProjection
|
Vector3Base
result
|
Returns
FLAXENGINE_API void
|
Vector3Base(const Color& color)
Declaration
public FLAXENGINE_API Vector3Base(const Color& color)
Parameters
Color
color
|
Returns
FLAXENGINE_API
|
Vector3Base(const Double2& xy, T z = 0)
Declaration
public FLAXENGINE_API Vector3Base(const Double2& xy, T z = 0)
Parameters
Double2
xy
|
T
z
|
Returns
FLAXENGINE_API
|
Vector3Base(const Double4& xyz)
Declaration
public FLAXENGINE_API Vector3Base(const Double4& xyz)
Parameters
Double4
xyz
|
Returns
FLAXENGINE_API
|
Vector3Base(const Float2& xy, T z = 0)
Declaration
public FLAXENGINE_API Vector3Base(const Float2& xy, T z = 0)
Parameters
Float2
xy
|
T
z
|
Returns
FLAXENGINE_API
|
Vector3Base(const Float4& xyz)
Declaration
public FLAXENGINE_API Vector3Base(const Float4& xyz)
Parameters
Float4
xyz
|
Returns
FLAXENGINE_API
|
Vector3Base(const Int2& xy, T z = 0)
Declaration
public FLAXENGINE_API Vector3Base(const Int2& xy, T z = 0)
Parameters
Int2
xy
|
T
z
|
Returns
FLAXENGINE_API
|
Vector3Base(const Int3& xyz)
Declaration
public FLAXENGINE_API Vector3Base(const Int3& xyz)
Parameters
Int3
xyz
|
Returns
FLAXENGINE_API
|
Vector3Base(const Int4& xyz)
Declaration
public FLAXENGINE_API Vector3Base(const Int4& xyz)
Parameters
Int4
xyz
|
Returns
FLAXENGINE_API
|
Vector3Base(const T* xyz)
Declaration
public Vector3Base(const T* xyz)
Parameters
T
xyz
|
Returns
FORCE_INLINE
|
Vector3Base(const Vector3Base<U>& xyz)
Declaration
public Vector3Base(const Vector3Base<U>& xyz)
Parameters
Vector3Base<U>
xyz
|
Returns
FORCE_INLINE
|
Type Parameters
typename U
|
typename TEnableIf<><>
|
Vector3Base(T x, T y, T z)
Declaration
public Vector3Base(T x, T y, T z)
Parameters
T
x
|
T
y
|
T
z
|
Returns
FORCE_INLINE
|
Vector3Base(T xyz)
Declaration
public Vector3Base(T xyz)
Parameters
T
xyz
|
Returns
FORCE_INLINE
|