Table of Contents

Struct DoubleVector3

Namespace
OmegaEngine.Foundation.Geometry
Assembly
OmegaEngine.Foundation.dll

Defines a three-component vector with double accuracy.

[TypeConverter(typeof(DoubleVector3Converter))]
public struct DoubleVector3 : IEquatable<DoubleVector3>
Implements
Extension Methods

Constructors

DoubleVector3(double, double, double)

Creates a new vector.

public DoubleVector3(double x, double y, double z)

Parameters

x double

The X component.

y double

The Y component.

z double

The Z component.

Fields

UnitX

public static readonly DoubleVector3 UnitX

Field Value

DoubleVector3

UnitY

public static readonly DoubleVector3 UnitY

Field Value

DoubleVector3

UnitZ

public static readonly DoubleVector3 UnitZ

Field Value

DoubleVector3

Properties

X

Gets or sets the X component of the vector.

public double X { readonly get; set; }

Property Value

double

Y

Gets or sets the Y component of the vector.

public double Y { readonly get; set; }

Property Value

double

Z

Gets or sets the Z component of the vector.

public double Z { readonly get; set; }

Property Value

double

Methods

ApplyOffset(DoubleVector3)

Returns a single-precision standard Vector3 after subtracting an offset value

[Pure]
public readonly Vector3 ApplyOffset(DoubleVector3 offset)

Parameters

offset DoubleVector3

This value is subtracting from the double-precision data before it is casted to single-precision

Returns

Vector3

The relative value

CrossProduct(DoubleVector3)

Calculates the cross product of this vector and other.

[Pure]
public readonly DoubleVector3 CrossProduct(DoubleVector3 other)

Parameters

other DoubleVector3

The second vector to calculate the cross product with.

Returns

DoubleVector3

DotProduct(DoubleVector3)

Calculates the dot product of this vector and other.

[Pure]
public readonly double DotProduct(DoubleVector3 other)

Parameters

other DoubleVector3

The second vector to calculate the dot product with.

Returns

double

Equals(DoubleVector3)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(DoubleVector3 other)

Parameters

other DoubleVector3

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override readonly int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

Length()

Calculates the length of the vector.

[Pure]
public readonly double Length()

Returns

double

Lerp(DoubleVector3, DoubleVector3, double)

Linearly interpolates between two vectors.

public static DoubleVector3 Lerp(DoubleVector3 start, DoubleVector3 end, double factor)

Parameters

start DoubleVector3

The start vector.

end DoubleVector3

The end vector.

factor double

The interpolation factor. Typically in the range 0-1. Values outside this range will extrapolate.

Returns

DoubleVector3

Normalize()

Returns a copy of the vector scaled to a length of 1.

[Pure]
public readonly DoubleVector3 Normalize()

Returns

DoubleVector3

ToString()

Returns the fully qualified type name of this instance.

public override readonly string ToString()

Returns

string

The fully qualified type name.

Operators

operator +(DoubleVector3, DoubleVector3)

public static DoubleVector3 operator +(DoubleVector3 vector1, DoubleVector3 vector2)

Parameters

vector1 DoubleVector3
vector2 DoubleVector3

Returns

DoubleVector3

operator +(DoubleVector3, Vector3)

Add DoubleVector3 to SlimDX.Vector3

public static DoubleVector3 operator +(DoubleVector3 vector1, Vector3 vector2)

Parameters

vector1 DoubleVector3
vector2 Vector3

Returns

DoubleVector3

operator +(Vector3, DoubleVector3)

Add SlimDX.Vector3 to DoubleVector3

public static DoubleVector3 operator +(Vector3 vector1, DoubleVector3 vector2)

Parameters

vector1 Vector3
vector2 DoubleVector3

Returns

DoubleVector3

operator /(DoubleVector3, double)

Divide DoubleVector3 with double

public static DoubleVector3 operator /(DoubleVector3 vector, double scalar)

Parameters

vector DoubleVector3
scalar double

Returns

DoubleVector3

operator /(DoubleVector3, float)

Divide DoubleVector3 with float

public static DoubleVector3 operator /(DoubleVector3 vector, float scalar)

Parameters

vector DoubleVector3
scalar float

Returns

DoubleVector3

operator ==(DoubleVector3, DoubleVector3)

public static bool operator ==(DoubleVector3 left, DoubleVector3 right)

Parameters

left DoubleVector3
right DoubleVector3

Returns

bool

explicit operator Vector3(DoubleVector3)

Convert DoubleVector3 into SlimDX.Vector3

public static explicit operator Vector3(DoubleVector3 vector)

Parameters

vector DoubleVector3

Returns

Vector3

explicit operator DoubleVector3(Vector3)

Convert SlimDX.Vector3 into DoubleVector3

public static explicit operator DoubleVector3(Vector3 vector)

Parameters

vector Vector3

Returns

DoubleVector3

operator !=(DoubleVector3, DoubleVector3)

public static bool operator !=(DoubleVector3 left, DoubleVector3 right)

Parameters

left DoubleVector3
right DoubleVector3

Returns

bool

operator *(DoubleVector3, double)

Multiply DoubleVector3 with double

public static DoubleVector3 operator *(DoubleVector3 vector, double scalar)

Parameters

vector DoubleVector3
scalar double

Returns

DoubleVector3

operator *(DoubleVector3, float)

Multiply DoubleVector3 with float

public static DoubleVector3 operator *(DoubleVector3 vector, float scalar)

Parameters

vector DoubleVector3
scalar float

Returns

DoubleVector3

operator *(double, DoubleVector3)

Multiply DoubleVector3 with double

public static DoubleVector3 operator *(double scalar, DoubleVector3 vector)

Parameters

scalar double
vector DoubleVector3

Returns

DoubleVector3

operator *(float, DoubleVector3)

Multiply DoubleVector3 with float

public static DoubleVector3 operator *(float scalar, DoubleVector3 vector)

Parameters

scalar float
vector DoubleVector3

Returns

DoubleVector3

operator -(DoubleVector3, DoubleVector3)

public static DoubleVector3 operator -(DoubleVector3 vector1, DoubleVector3 vector2)

Parameters

vector1 DoubleVector3
vector2 DoubleVector3

Returns

DoubleVector3

operator -(DoubleVector3, Vector3)

Subtract DoubleVector3 from SlimDX.Vector3

public static DoubleVector3 operator -(DoubleVector3 vector1, Vector3 vector2)

Parameters

vector1 DoubleVector3
vector2 Vector3

Returns

DoubleVector3

operator -(Vector3, DoubleVector3)

Subtract DoubleVector3 from SlimDX.Vector3

public static DoubleVector3 operator -(Vector3 vector1, DoubleVector3 vector2)

Parameters

vector1 Vector3
vector2 DoubleVector3

Returns

DoubleVector3

operator -(DoubleVector3)

Negates DoubleVector3

public static DoubleVector3 operator -(DoubleVector3 v)

Parameters

v DoubleVector3

Returns

DoubleVector3

operator +(DoubleVector3)

Leaves DoubleVector3 unchanged

public static DoubleVector3 operator +(DoubleVector3 v)

Parameters

v DoubleVector3

Returns

DoubleVector3