Sinespace Client  2023.2.17543
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 More...
 
SVector Add (SVector other)
 Adds two SVectors together by combining the individual components of the two vectors More...
 
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. More...
 
SVector Scale (SVector other)
 Scales (multiplies) two SVectors together More...
 
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) More...
 
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 More...
 
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