nodesnim/core/vector3

Types

Vector3Obj = object
  x*, y*, z*: float

Lets

NULL_VECTOR3 = Vector3Obj(x: 0, y: 0, z: 0)

Procs

proc Vector3(x, y, z: float): Vector3Obj {...}{.raises: [], tags: [].}
Creates a new Vector3 object.

Example:

var vec3 = Vector3(1, 2, 3)
proc Vector3(xyz: float): Vector3Obj {...}{.inline, raises: [], tags: [].}

Example:

var vec3 = Vector3(2)
proc Vector3(other: Vector3Obj): Vector3Obj {...}{.inline, raises: [], tags: [].}

Example:

var vec3 = Vector3(Vector3(11, 9812, 91))
proc Vector3(): Vector3Obj {...}{.inline, raises: [], tags: [].}

Example:

var vec3 = Vector3()
proc abs(a: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}

Example:

var vec3 = abs(Vector3(-1, -2, -3))
assert vec3.x == 1
assert vec3.y == 2
assert vec3.z == 3
proc cross(a, b: Vector3Obj): Vector3Obj {...}{.inline, raises: [], tags: [].}
proc cross(a: Vector3Obj; x, y, z: float): float {...}{.inline, raises: [], tags: [].}
proc dot(a, b: Vector3Obj): float {...}{.inline, raises: [], tags: [].}
proc dot(a: Vector3Obj; x, y, z: float): float {...}{.inline, raises: [], tags: [].}
proc angleTo(a, b: Vector3Obj): float {...}{.inline, raises: [], tags: [].}
proc normalize(a: var Vector3Obj) {...}{.raises: [], tags: [].}
proc normalized(a: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc directionTo(a, b: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc len(a: Vector3Obj): float {...}{.inline, raises: [], tags: [].}

Example:

var vec3 = Vector3(1, 5, 7)
echo vec3.len()
proc `$`(a: Vector3Obj): string {...}{.inline, raises: [], tags: [].}
proc `+`(a, b: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc `-`(a, b: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc `*`(a, b: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc `/`(a, b: Vector3Obj): Vector3Obj {...}{.raises: [], tags: [].}
proc `+`(a: Vector3Obj; b: float): Vector3Obj {...}{.raises: [], tags: [].}
proc `-`(a: Vector3Obj; b: float): Vector3Obj {...}{.raises: [], tags: [].}
proc `*`(a: Vector3Obj; b: float): Vector3Obj {...}{.raises: [], tags: [].}
proc `/`(a: Vector3Obj; b: float): Vector3Obj {...}{.raises: [], tags: [].}
proc `+=`(a: var Vector3Obj; b: Vector3Obj) {...}{.raises: [], tags: [].}
proc `-=`(a: var Vector3Obj; b: Vector3Obj) {...}{.raises: [], tags: [].}
proc `*=`(a: var Vector3Obj; b: Vector3Obj) {...}{.raises: [], tags: [].}
proc `/=`(a: var Vector3Obj; b: Vector3Obj) {...}{.raises: [], tags: [].}
proc `+=`(a: var Vector3Obj; b: float) {...}{.raises: [], tags: [].}
proc `-=`(a: var Vector3Obj; b: float) {...}{.raises: [], tags: [].}
proc `*=`(a: var Vector3Obj; b: float) {...}{.raises: [], tags: [].}
proc `/=`(a: var Vector3Obj; b: float) {...}{.raises: [], tags: [].}
proc `==`(a, b: Vector3Obj): bool {...}{.raises: [], tags: [].}
proc `>`(a, b: Vector3Obj): bool {...}{.raises: [], tags: [].}
proc `>=`(a, b: Vector3Obj): bool {...}{.raises: [], tags: [].}
proc `<=`(a, b: Vector3Obj): bool {...}{.raises: [], tags: [].}