Vector3D StructureDelta Engine Documentation
Specifies a position in 3D space, used for 3D geometry, cameras and 3D physics. View code on GitHub

Namespace: DeltaEngine.Datatypes
Assembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public struct Vector3D : IEquatable<Vector3D>, 
	Lerp<Vector3D>, Lerp

The Vector3D type exposes the following members.

Constructors

  NameDescription
Public methodVector3D(String)
Initializes a new instance of the Vector3D class
Public methodVector3D(Vector2D, Single)
Initializes a new instance of the Vector3D class
Public methodVector3D(Single, Single, Single)
Initializes a new instance of the Vector3D class
Top
Methods

  NameDescription
Public methodAngle
Public methodStatic memberAngleBetweenVectors
Public methodStatic memberCross
Public methodDistance
Public methodDistanceSquared
Public methodStatic memberDivide
Public methodStatic memberDot
Public methodEquals(Object) (Overrides ValueType Equals(Object).)
Public methodEquals(Vector3D)
Public methodGetHashCode (Overrides ValueType GetHashCode .)
Public methodGetVector2D
Public methodStatic memberHermite
Public methodIntersectNormal
Public methodIntersectPlane
Public methodIntersectRay
Public methodIsNearlyEqual
Public methodLerp
Public methodNormalize 
Public methodStatic memberNormalize(Vector3D)
Public methodReflect
Public methodRotateAround
Public methodToString (Overrides ValueType ToString .)
Public methodTransform(Quaternion)
Public methodStatic memberTransform(Vector3D , Quaternion , Vector3D )
Public methodTransformNormal
Public methodTransformTranspose
Top
Operators

  NameDescription
Public operatorStatic memberAddition
Public operatorStatic memberDivision
Public operatorStatic memberEquality
Public operatorStatic member (Vector2D to Vector3D)
Public operatorStatic memberInequality
Public operatorStatic memberMultiply(Single, Vector3D)
Public operatorStatic memberMultiply(Vector3D, Vector3D)
Public operatorStatic memberMultiply(Vector3D, Single)
Public operatorStatic memberSubtraction
Public operatorStatic memberUnaryNegation
Top
Fields

  NameDescription
Public fieldStatic memberMinusOne
Public fieldStatic memberOne
Public fieldStatic memberSizeInBytes
Public fieldStatic memberUnitX
Public fieldStatic memberUnitY
Public fieldStatic memberUnitZ
Public fieldStatic memberZero
Top
Properties

  NameDescription
Public propertyLength
Public propertyLengthSquared
Public propertyX
Public propertyY
Public propertyZ
Top
Remarks

Tests: DeltaEngine.Tests.Datatypes.Vector3DTests
Examples

34 unit tests call DeltaEngine.Datatypes.Vector3D
[Test]
public void Create()
{
    const float X = 3.51f;
    const float Y = 0.23f;
    const float Z = 0.95f;
    var v = new Vector3D(X, Y, Z);
    Assert.AreEqual(v.X, X);
    Assert.AreEqual(v.Y, Y);
    Assert.AreEqual(v.Z, Z);
}
[Test]
public void CreateFromVector2D()
{
    var v = new Vector3D(new Vector2D(1, 2));
    Assert.AreEqual(1, v.X);
    Assert.AreEqual(2, v.Y);
    Assert.AreEqual(0, v.Z);
}
[Test]
public void CreateFromString()
{
    var v = new Vector3D("2.3, 1.5, 0.9");
    Assert.AreEqual(v.X, 2.3f);
    Assert.AreEqual(v.Y, 1.5f);
    Assert.AreEqual(v.Z, 0.9f);
    Assert.Throws<Vector3D.InvalidNumberOfComponents>(() => new Vector3D("2.3"));
    Assert.Throws<FormatException>(() => new Vector3D("a, b, c"));
}
See Also