• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Vim.Math3d
    • AABox
    • AABox2D
    • AABox4D
    • AngularMotion
    • AxisAngle
    • Byte2
    • Byte3
    • Byte4
    • ColorHDR
    • ColorRGB
    • ColorRGBA
    • Complex
    • Constants
    • ContainmentType
    • CylindricalCoordinate
    • DAABox
    • DAABox2D
    • DAABox4D
    • DInterval
    • DPlane
    • DQuaternion
    • DRay
    • DSphere
    • DVector2
    • DVector3
    • DVector4
    • Euler
    • GeoCoordinate
    • Hash
    • HorizontalCoordinate
    • IMappable<TContainer, TPart>
    • Int2
    • Int3
    • Int4
    • Interval
    • IPoints
    • IPoints2D
    • ITransformable3D<TSelf>
    • Line
    • Line2D
    • LinearMotion
    • LinqUtil
    • LogPolarCoordinate
    • MathOps
    • Matrix4x4
    • Motion
    • MovementExtensions
    • Plane
    • PlaneIntersectionType
    • PolarCoordinate
    • Quad
    • Quad2D
    • Quaternion
    • Ray
    • Sphere
    • SphericalCoordinate
    • StatelessRandom
    • Stats<T>
    • Transform
    • Transformable3D
    • Triangle
    • Triangle2D
    • Vector2
    • Vector3
    • Vector4

Struct Vector3

Implements
System.IEquatable<Vector3>
System.IComparable<Vector3>
ITransformable3D<Vector3>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: Vim.Math3d
Assembly: Vim.Math3D.dll
[DataContract]
public readonly struct Vector3 : IEquatable<Vector3>, IComparable<Vector3>, ITransformable3D<Vector3>

Constructors

View Source

Vector3(Single)

public Vector3(float value)
View Source

Vector3(Single, Single)

public Vector3(float x, float y)
View Source

Vector3(Single, Single, Single)

public Vector3(float x, float y, float z)
View Source

Vector3((Single x, Single y, Single z))

public Vector3((float x, float y, float z) tuple)
View Source

Vector3(Vector2, Single)

public Vector3(Vector2 xy, float z)

Fields

View Source

MaxValue

public static Vector3 MaxValue
View Source

MinValue

public static Vector3 MinValue
View Source

NumComponents

public const int NumComponents = 3
View Source

One

public static Vector3 One
View Source

UnitX

public static Vector3 UnitX
View Source

UnitY

public static Vector3 UnitY
View Source

UnitZ

public static Vector3 UnitZ
View Source

X

[DataMember]
public readonly float X
View Source

Y

[DataMember]
public readonly float Y
View Source

Z

[DataMember]
public readonly float Z
View Source

Zero

public static Vector3 Zero

Properties

View Source

XY

public readonly Vector2 XY { get; }
View Source

XZ

public readonly Vector2 XZ { get; }
View Source

XZY

public readonly Vector3 XZY { get; }
View Source

YXZ

public readonly Vector3 YXZ { get; }
View Source

YZ

public readonly Vector2 YZ { get; }
View Source

YZX

public readonly Vector3 YZX { get; }
View Source

ZXY

public readonly Vector3 ZXY { get; }
View Source

ZYX

public readonly Vector3 ZYX { get; }

Methods

View Source

AlmostEquals(Vector3, Single)

public readonly bool AlmostEquals(Vector3 x, float tolerance = 1E-07F)
View Source

AlmostZero(Single)

public readonly bool AlmostZero(float tolerance = 1E-07F)
View Source

AnyComponentNegative()

public readonly bool AnyComponentNegative()
View Source

Clamp(AABox)

public readonly Vector3 Clamp(AABox box)
View Source

CompareTo(Vector3)

public readonly int CompareTo(Vector3 x)
View Source

Create(Single, Single, Single)

public static Vector3 Create(float x, float y, float z)
View Source

Create((Single x, Single y, Single z))

public static Vector3 Create((float x, float y, float z) tuple)
View Source

Cross(Vector3)

Computes the cross product of two vectors.

public readonly Vector3 Cross(Vector3 vector2)
View Source

Deconstruct(out Single, out Single, out Single)

public readonly void Deconstruct(out float x, out float y, out float z)
View Source

Dot(Vector3)

public readonly float Dot(Vector3 value)
View Source

Dot(Vector3, Vector3)

public static float Dot(Vector3 value1, Vector3 value2)
View Source

Equals(Object)

public override readonly bool Equals(object obj)
Overrides
System.ValueType.Equals(System.Object)
View Source

Equals(Vector3)

public readonly bool Equals(Vector3 x)
View Source

GetComponent(Int32)

public readonly float GetComponent(int n)
View Source

GetHashCode()

public override readonly int GetHashCode()
Overrides
System.ValueType.GetHashCode()
View Source

IsInfinity()

public readonly bool IsInfinity()
View Source

IsNaN()

public readonly bool IsNaN()
View Source

Magnitude()

public readonly double Magnitude()
View Source

MagnitudeSquared()

public readonly double MagnitudeSquared()
View Source

MaxComponent()

public readonly float MaxComponent()
View Source

MinComponent()

public readonly float MinComponent()
View Source

MixedProduct(Vector3, Vector3)

Returns the mixed product

public readonly double MixedProduct(Vector3 v1, Vector3 v2)
View Source

ProductComponents()

public readonly float ProductComponents()
View Source

Reflect(Vector3)

Returns the reflection of a vector off a surface that has the specified normal.

public readonly Vector3 Reflect(Vector3 normal)
View Source

SetX(Single)

public readonly Vector3 SetX(float x)
View Source

SetY(Single)

public readonly Vector3 SetY(float x)
View Source

SetZ(Single)

public readonly Vector3 SetZ(float x)
View Source

SumComponents()

public readonly float SumComponents()
View Source

SumSqrComponents()

public readonly float SumSqrComponents()
View Source

ToString()

public override readonly string ToString()
Overrides
System.ValueType.ToString()
View Source

Transform(Matrix4x4)

Transforms a vector by the given matrix.

public readonly Vector3 Transform(Matrix4x4 matrix)
View Source

TransformNormal(Matrix4x4)

Transforms a vector normal by the given matrix.

public readonly Vector3 TransformNormal(Matrix4x4 matrix)

Operators

View Source

Addition(Single, Vector3)

public static Vector3 operator +(float value1, Vector3 value2)
View Source

Addition(Vector3, Single)

public static Vector3 operator +(Vector3 value1, float value2)
View Source

Addition(Vector3, Vector3)

public static Vector3 operator +(Vector3 value1, Vector3 value2)
View Source

Division(Single, Vector3)

public static Vector3 operator /(float value1, Vector3 value2)
View Source

Division(Vector3, Single)

public static Vector3 operator /(Vector3 value1, float value2)
View Source

Division(Vector3, Vector3)

public static Vector3 operator /(Vector3 value1, Vector3 value2)
View Source

Equality(Vector3, Vector3)

public static bool operator ==(Vector3 x0, Vector3 x1)
View Source

GreaterThan(Vector3, Vector3)

public static bool operator>(Vector3 x0, Vector3 x1)
View Source

GreaterThanOrEqual(Vector3, Vector3)

public static bool operator >=(Vector3 x0, Vector3 x1)
View Source

Implicit((Single x, Single y, Single z) to Vector3)

public static implicit operator Vector3((float x, float y, float z) tuple)
View Source

Implicit(Vector3 to (Single x, Single y, Single z))

public static implicit operator (float x, float y, float z)(Vector3 self)
View Source

Inequality(Vector3, Vector3)

public static bool operator !=(Vector3 x0, Vector3 x1)
View Source

LessThan(Vector3, Vector3)

public static bool operator <(Vector3 x0, Vector3 x1)
View Source

LessThanOrEqual(Vector3, Vector3)

public static bool operator <=(Vector3 x0, Vector3 x1)
View Source

Multiply(Single, Vector3)

public static Vector3 operator *(float value1, Vector3 value2)
View Source

Multiply(Vector3, Single)

public static Vector3 operator *(Vector3 value1, float value2)
View Source

Multiply(Vector3, Vector3)

public static Vector3 operator *(Vector3 value1, Vector3 value2)
View Source

Subtraction(Single, Vector3)

public static Vector3 operator -(float value1, Vector3 value2)
View Source

Subtraction(Vector3, Single)

public static Vector3 operator -(Vector3 value1, float value2)
View Source

Subtraction(Vector3, Vector3)

public static Vector3 operator -(Vector3 value1, Vector3 value2)
View Source

UnaryNegation(Vector3)

public static Vector3 operator -(Vector3 value)

Implements

System.IEquatable<T>
System.IComparable<T>
ITransformable3D<TSelf>

Extension Methods

Transformable3D.Transform<T>(ITransformable3D<T>, Matrix4x4[])
Transformable3D.Translate<T>(ITransformable3D<T>, Vector3)
Transformable3D.Translate<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.Rotate<T>(ITransformable3D<T>, Quaternion)
Transformable3D.Scale<T>(ITransformable3D<T>, Single)
Transformable3D.Scale<T>(ITransformable3D<T>, Vector3)
Transformable3D.Scale<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.ScaleX<T>(ITransformable3D<T>, Single)
Transformable3D.ScaleY<T>(ITransformable3D<T>, Single)
Transformable3D.ScaleZ<T>(ITransformable3D<T>, Single)
Transformable3D.LookAt<T>(ITransformable3D<T>, Vector3, Vector3, Vector3)
Transformable3D.RotateAround<T>(ITransformable3D<T>, Vector3, Single)
Transformable3D.Rotate<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.Reflect<T>(ITransformable3D<T>, Plane)
Transformable3D.RotateX<T>(ITransformable3D<T>, Single)
Transformable3D.RotateY<T>(ITransformable3D<T>, Single)
Transformable3D.RotateZ<T>(ITransformable3D<T>, Single)
Transformable3D.TranslateRotateScale<T>(ITransformable3D<T>, Vector3, Quaternion, Vector3)
MathOps.Add(Vector3, Vector3)
MathOps.Subtract(Vector3, Vector3)
MathOps.Multiply(Vector3, Vector3)
MathOps.Divide(Vector3, Vector3)
MathOps.Negate(Vector3)
MathOps.Lerp(Vector3, Vector3, Single)
MathOps.InverseLerp(Vector3, Vector3, Vector3)
MathOps.LerpPrecise(Vector3, Vector3, Single)
MathOps.ClampLower(Vector3, Vector3)
MathOps.ClampUpper(Vector3, Vector3)
MathOps.Clamp(Vector3, Vector3, Vector3)
MathOps.Average(Vector3, Vector3)
MathOps.Barycentric(Vector3, Vector3, Vector3, Single, Single)
MathOps.DistanceSquared(Vector3, Vector3)
MathOps.Distance(Vector3, Vector3)
MathOps.LengthSquared(Vector3)
MathOps.Length(Vector3)
MathOps.Normalize(Vector3)
MathOps.SafeNormalize(Vector3)
MathOps.Dot(Vector3, Vector3)
MathOps.Min(Vector3, Vector3)
MathOps.Max(Vector3, Vector3)
MathOps.SquareRoot(Vector3)
MathOps.Abs(Vector3)
MathOps.Acos(Vector3)
MathOps.Asin(Vector3)
MathOps.Atan(Vector3)
MathOps.Cos(Vector3)
MathOps.Cosh(Vector3)
MathOps.Exp(Vector3)
MathOps.Log(Vector3)
MathOps.Log10(Vector3)
MathOps.Sin(Vector3)
MathOps.Sinh(Vector3)
MathOps.Sqrt(Vector3)
MathOps.Tan(Vector3)
MathOps.Tanh(Vector3)
MathOps.Inverse(Vector3)
MathOps.Ceiling(Vector3)
MathOps.Floor(Vector3)
MathOps.Round(Vector3)
MathOps.Truncate(Vector3)
MathOps.Sqr(Vector3)
MathOps.Cube(Vector3)
MathOps.ToRadians(Vector3)
MathOps.ToDegrees(Vector3)
MathOps.ToVector2(Vector3)
MathOps.ToVector4(Vector3)
MathOps.Rotate(Vector3, Vector3, Single)
MathOps.IsNonZeroAndValid(Vector3)
MathOps.IsZeroOrInvalid(Vector3)
MathOps.IsPerpendicular(Vector3, Vector3, Single)
MathOps.Projection(Vector3, Vector3)
MathOps.Rejection(Vector3, Vector3)
MathOps.SignedAngle(Vector3, Vector3)
MathOps.Angle(Vector3, Vector3, Single)
MathOps.Colinear(Vector3, Vector3, Single)
MathOps.IsBackFace(Vector3, Vector3)
MathOps.CatmullRom(Vector3, Vector3, Vector3, Vector3, Single)
MathOps.Hermite(Vector3, Vector3, Vector3, Vector3, Single)
MathOps.SmoothStep(Vector3, Vector3, Single)
MathOps.ToLine(Vector3)
MathOps.Along(Vector3, Single)
MathOps.Transform(Vector3, Quaternion)
MathOps.ToMatrix(Vector3)
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright VIM 2021, Generated by DocFX