Sinespace Client 2025.3.19431
Client-side scripting for Sinespace
SineSpace.Scripting.Types.SVector Struct Reference

Implements a 3D Vector class used for storing positions & scales. More...

Inheritance diagram for SineSpace.Scripting.Types.SVector:

Public Member Functions

 SVector (float x, float y, float z)
 Creates a SVector from X, Y and Z position information.
 
SVector Add (SVector other)
 Adds two SVectors together by combining the individual components of the two vectors.
 
SVector Add (float other)
 Adds a single value to an existing vector and returns the combined result. Adds across each axis and returns the result.
 
SVector Scale (SVector other)
 Scales (multiplies) two SVectors together.
 
SVector Scale (float other)
 
SVector Divide (SVector other)
 
SVector Divide (float other)
 
float Distance (SVector other)
 
float SquareDistance (SVector other)
 
bool InRange (SVector other, float range)
 
SVector Cross (SVector other)
 
SVector Lerp (SVector other, float t)
 
SVector Slerp (SVector other, float t)
 
SVector MoveTowards (SVector other, float maxDistance)
 
float Dot (SVector other)
 
bool Equals (SVector other)
 
override string ToString ()
 

Static Public Member Functions

static SVector New (float x, float y, float z)
 Constructs a new SVector (for easier Lua Access)
 
static SVector operator+ (SVector a, SVector b)
 
static SVector operator- (SVector a, SVector b)
 
static SVector operator* (SVector a, SVector b)
 
static SVector operator/ (SVector a, SVector b)
 
static SVector operator* (SVector a, float b)
 
static SVector operator/ (SVector a, float b)
 
static SVector operator+ (SVector a, float b)
 
static SVector operator- (SVector a, float b)
 

Public Attributes

float X
 Axis parameters.
 
float Y
 
float Z
 

Static Public Attributes

static readonly SVector Up = new SVector(0, 1, 0)
 
static readonly SVector Down = new SVector(0, -1, 0)
 
static readonly SVector Left = new SVector(-1, 0, 0)
 
static readonly SVector Right = new SVector(1, 0, 0)
 
static readonly SVector Forward = new SVector(0, 0, 1)
 
static readonly SVector Back = new SVector(0, 0, -1)
 
static readonly SVector Zero = new SVector(0, 0, 0)
 
static readonly SVector One = new SVector(1, 1, 1)
 
static readonly SVector MaxValue = new SVector(float.MaxValue, float.MaxValue, float.MaxValue)
 
static readonly SVector MinValue = new SVector(float.MinValue, float.MinValue, float.MinValue)
 

Properties

float Magnitude [get]
 
SVector Normalised [get]
 

Detailed Description

Implements a 3D Vector class used for storing positions & scales.

Contains three read-write properties: X, Y and Z which are implemented presently as 32-bit floats

Constructor & Destructor Documentation

◆ SVector()

SineSpace.Scripting.Types.SVector.SVector ( float x,
float y,
float z )

Creates a SVector from X, Y and Z position information.

Parameters
xX Axis Value
yY Axis Value
zZ Axis Value

Member Function Documentation

◆ Add() [1/2]

SVector SineSpace.Scripting.Types.SVector.Add ( float other)

Adds a single value to an existing vector and returns the combined result. Adds across each axis and returns the result.

Parameters
otherA single value to add to each axis
Returns
The combined addition result

◆ Add() [2/2]

SVector SineSpace.Scripting.Types.SVector.Add ( SVector other)

Adds two SVectors together by combining the individual components of the two vectors.

Parameters
otherThe other vector to add to this one
Returns
A vector containing the results of the addition

◆ Cross()

SVector SineSpace.Scripting.Types.SVector.Cross ( SVector other)

◆ Distance()

float SineSpace.Scripting.Types.SVector.Distance ( SVector other)

◆ Divide() [1/2]

SVector SineSpace.Scripting.Types.SVector.Divide ( float other)

◆ Divide() [2/2]

SVector SineSpace.Scripting.Types.SVector.Divide ( SVector other)

◆ Dot()

float SineSpace.Scripting.Types.SVector.Dot ( SVector other)

◆ Equals()

bool SineSpace.Scripting.Types.SVector.Equals ( SVector other)

◆ InRange()

bool SineSpace.Scripting.Types.SVector.InRange ( SVector other,
float range )

◆ Lerp()

SVector SineSpace.Scripting.Types.SVector.Lerp ( SVector other,
float t )

◆ MoveTowards()

SVector SineSpace.Scripting.Types.SVector.MoveTowards ( SVector other,
float maxDistance )

◆ New()

static SVector SineSpace.Scripting.Types.SVector.New ( float x,
float y,
float z )
static

Constructs a new SVector (for easier Lua Access)

local vector = Vector.New(x,y,z)

Parameters
x
y
z
Returns

◆ operator*() [1/2]

static SVector SineSpace.Scripting.Types.SVector.operator* ( SVector a,
float b )
static

◆ operator*() [2/2]

static SVector SineSpace.Scripting.Types.SVector.operator* ( SVector a,
SVector b )
static

◆ operator+() [1/2]

static SVector SineSpace.Scripting.Types.SVector.operator+ ( SVector a,
float b )
static

◆ operator+() [2/2]

static SVector SineSpace.Scripting.Types.SVector.operator+ ( SVector a,
SVector b )
static

◆ operator-() [1/2]

static SVector SineSpace.Scripting.Types.SVector.operator- ( SVector a,
float b )
static

◆ operator-() [2/2]

static SVector SineSpace.Scripting.Types.SVector.operator- ( SVector a,
SVector b )
static

◆ operator/() [1/2]

static SVector SineSpace.Scripting.Types.SVector.operator/ ( SVector a,
float b )
static

◆ operator/() [2/2]

static SVector SineSpace.Scripting.Types.SVector.operator/ ( SVector a,
SVector b )
static

◆ Scale() [1/2]

SVector SineSpace.Scripting.Types.SVector.Scale ( float other)

◆ Scale() [2/2]

SVector SineSpace.Scripting.Types.SVector.Scale ( SVector other)

Scales (multiplies) two SVectors together.

Parameters
otherThe other SVector to scale (multiply) the current value with
Returns

◆ Slerp()

SVector SineSpace.Scripting.Types.SVector.Slerp ( SVector other,
float t )

◆ SquareDistance()

float SineSpace.Scripting.Types.SVector.SquareDistance ( SVector other)

◆ ToString()

override string SineSpace.Scripting.Types.SVector.ToString ( )

Member Data Documentation

◆ Back

readonly SVector SineSpace.Scripting.Types.SVector.Back = new SVector(0, 0, -1)
static

◆ Down

readonly SVector SineSpace.Scripting.Types.SVector.Down = new SVector(0, -1, 0)
static

◆ Forward

readonly SVector SineSpace.Scripting.Types.SVector.Forward = new SVector(0, 0, 1)
static

◆ Left

readonly SVector SineSpace.Scripting.Types.SVector.Left = new SVector(-1, 0, 0)
static

◆ MaxValue

readonly SVector SineSpace.Scripting.Types.SVector.MaxValue = new SVector(float.MaxValue, float.MaxValue, float.MaxValue)
static

◆ MinValue

readonly SVector SineSpace.Scripting.Types.SVector.MinValue = new SVector(float.MinValue, float.MinValue, float.MinValue)
static

◆ One

readonly SVector SineSpace.Scripting.Types.SVector.One = new SVector(1, 1, 1)
static

◆ Right

readonly SVector SineSpace.Scripting.Types.SVector.Right = new SVector(1, 0, 0)
static

◆ Up

readonly SVector SineSpace.Scripting.Types.SVector.Up = new SVector(0, 1, 0)
static

◆ X

float SineSpace.Scripting.Types.SVector.X

Axis parameters.

◆ Y

float SineSpace.Scripting.Types.SVector.Y

◆ Z

float SineSpace.Scripting.Types.SVector.Z

◆ Zero

readonly SVector SineSpace.Scripting.Types.SVector.Zero = new SVector(0, 0, 0)
static

Property Documentation

◆ Magnitude

float SineSpace.Scripting.Types.SVector.Magnitude
get

◆ Normalised

SVector SineSpace.Scripting.Types.SVector.Normalised
get