Nebula
Containers

Double3

A 64-bit-per-axis position.

generated from the sources
[Serializable]
public struct Double3 : IEquatable<Double3>

A 64-bit-per-axis position. Container placements that are absolute (a root container 10,000 km out) are kept in this form end to end and narrowed to float only after the process's origin has been taken off, which is what makes a far placement exact (docs/container-tree.md D5).

Constructors

Double3

public Double3(double x, double y, double z);

Fields

X, Y, Z

public double X, Y, Z;

Zero

public static readonly Double3 Zero = new Double3(0, 0, 0);

Methods

From

public static Double3 From(Vector3 v);

Widen a float vector.

implicit operator Double3

public static implicit operator Double3(Vector3 v);

Widening is exact, so a float vector converts implicitly (a ScopePart written with a Vector3 centre keeps compiling).

ToVector3

public Vector3 ToVector3();

Narrow to a float vector. Take any origin off first.

operator +

public static Double3 operator +(Double3 a, Double3 b);
public static Double3 operator +(Double3 a, Vector3 b);

operator -

public static Double3 operator -(Double3 a, Double3 b);
public static Double3 operator -(Double3 a, Vector3 b);

Equals

public bool Equals(Double3 other);
public override bool Equals(object obj);

GetHashCode

public override int GetHashCode();

operator ==

public static bool operator ==(Double3 a, Double3 b);

operator !=

public static bool operator !=(Double3 a, Double3 b);

ToString

public override string ToString();

On this page