Vec

ai.dragonfly.math.vector.package$.Vec$
object Vec

Attributes

Source:
package.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Vec.type

Members list

Concise view

Value members

Concrete methods

inline def apply[N <: Int](a: DoubleArray): Vec[N]

Attributes

Source:
package.scala
inline def apply(x: Double, y: Double): Vec[2]

Attributes

Source:
package.scala
inline def apply(x: Double, y: Double, z: Double): Vec[3]

Attributes

Source:
package.scala
inline def apply(x: Double, y: Double, z: Double, w: Double): Vec[4]

Attributes

Source:
package.scala
inline def apply[N <: Int](d: Double*): Vec[N]

Varargs factory for high dimensional Vector literals. Note: This is not an efficient way to create a vector.

Varargs factory for high dimensional Vector literals. Note: This is not an efficient way to create a vector.

Attributes

N

intended vector dimension

d

vector value literals

Returns:

a Vec[N] consisting of the specified Double valued literals.

Source:
package.scala
def blend[N <: Int](alpha: Double, v0: Vec[N], v1: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def fill[N <: Int](d: Double): Vec[N]

Attributes

Source:
package.scala
def mean[N <: Int]([v₁v₂⋯vₙ]: Vec[N]*): Vec[N]

Attributes

Source:
package.scala
def mean[N <: Int]([v₀v₁⋯v₍ₙ₋₁₎]: Array[Vec[N]]): Vec[N]

Attributes

Source:
package.scala
def midpoint[N <: Int](v0: Vec[N], v1: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def random[N <: Int](MAX: Double, min: Double, r: Random): Vec[N]

Attributes

Source:
package.scala
inline def tabulate[N <: Int](f: Int => Double): Vec[N]

Attributes

Source:
package.scala
inline def zeros[N <: Int](using ValueOf[N]): Vec[N]

Attributes

Source:
package.scala

Extensions

Extensions

extension [N <: Int](thisVector: Vec[N])
inline def *(scalar: Double): Vec[N]

Attributes

Source:
package.scala
inline def *=(scalar: Double): Vec[N]

Attributes

Source:
package.scala
inline def +(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def +=(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def -(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def -=(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def /(divisor: Double): Vec[N]

Attributes

Source:
package.scala
inline def /=(divisor: Double): Vec[N]

Attributes

Source:
package.scala
def add(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala
inline def apply(index: Int): Double

Attributes

Source:
package.scala
def copy: Vec[N]

Attributes

Source:
package.scala

Attributes

Source:
package.scala
inline def dimension: Int

Attributes

Source:
package.scala
inline def discretize(): Unit

Attributes

Source:
package.scala
inline def discretize(r: Double): Unit

Attributes

Source:
package.scala
inline def divide(divisor: Double): Vec[N]

Attributes

Source:
package.scala
def dot(v0: Vec[N]): Double

Attributes

Source:
package.scala

Attributes

Source:
package.scala
inline def euclideanDistanceTo(v0: Vec[N]): Double

Attributes

Source:
package.scala
inline def magnitude: Double

Attributes

Source:
package.scala

Attributes

Source:
package.scala
inline def norm: Double

Attributes

Source:
package.scala
inline def normSquared: Double

Attributes

Source:
package.scala
inline def normalize(): Vec[N]

Attributes

Source:
package.scala

Attributes

Source:
package.scala
inline def round(): Unit

Attributes

Source:
package.scala
inline def scale(scalar: Double): Vec[N]

Attributes

Source:
package.scala

Attributes

Source:
package.scala
def subtract(v0: Vec[N]): Vec[N]

Attributes

Source:
package.scala

Attributes

Source:
package.scala
inline def unary_-: Vec[N]

Attributes

Source:
package.scala
inline def update(index: Int, value: Double): Unit

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def w(using ValueOf[N], N >= 4 =:= true): Double

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def cross(using ValueOf[N], N == 3 =:= true)(thatVector: Vec[3]): Vec[3]

Vec[3] extension methods:

Vec[3] extension methods:

Attributes

Source:
package.scala
inline def (using ValueOf[N], N == 3 =:= true)(thatVector: Vec[3]): Vec[3]

Vec[3] extension methods:

Vec[3] extension methods:

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def y(using ValueOf[N], N >= 2 =:= true): Double

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def angleFrom(using ValueOf[N], N == 2 =:= true)(v: Vec[2]): Double

Compute the signed angle between two vectors.

Compute the signed angle between two vectors.

Attributes

v

the second vector to compare this vector to.

Returns:

the signed angle in radians

Source:
package.scala
inline def pseudoCross(using ValueOf[N], N == 2 =:= true)(thatVector: Vec[2]): Double

Vec[2] extension methods:

Vec[2] extension methods:

Attributes

Source:
package.scala
inline def rotate(using ValueOf[N], N == 2 =:= true)(cosTheta: Double, sinTheata: Double): Vec[2]

Vec[2] extension methods:

Vec[2] extension methods:

Attributes

Source:
package.scala
inline def rotate(using ValueOf[N], N == 2 =:= true)(radians: Double): Vec[2]

Vec[2] extension methods:

Vec[2] extension methods:

Attributes

Source:
package.scala
inline def rotateDegrees(using ValueOf[N], N == 2 =:= true)(degrees: Double): Vec[2]

Vec[2] extension methods:

Vec[2] extension methods:

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def z(using ValueOf[N], N >= 3 =:= true): Double

Attributes

Source:
package.scala
extension [N <: Int](thisVector: Vec[N])
inline def x(using ValueOf[N], N >= 1 =:= true): Double

Attributes

Source:
package.scala