# Point4DSignal

The Point4DSignal class monitors a 4D coordinate.

## Properties

PropertyDescription

w

(get) w: ScalarSignal (set) (Not Available)

Represents the W component.

x

(get) x: ScalarSignal (set) (Not Available)

Represents the X coordinate.

y

(get) y: ScalarSignal (set) (Not Available)

Represents the Y coordinate.

z

(get) z: ScalarSignal (set) (Not Available)

Represents the Z component.

## Methods

MethodDescription

abs

abs(): ScalarSignal

Returns a signal with the value that is the absolute value of the given signal.

Returns a signal with the value that is the sum of the values of the given signals.

Note: add and sum functions are synonyms, the behavior they provide is equivalent.

atan2

atan2(other: ScalarSignal): ScalarSignal

Returns a signal with the value that is the angle in radians between the x-axis and the ray from (0, 0) to (x, y) where x and y are the values of the specified signals. The range is -PI to +PI.

ceil

ceil(): ScalarSignal

Returns a signal with the value that is the smallest integer that is greater than or equal to the value of the given signal.

cross

cross(other: VectorSignal): VectorSignal

Returns a vector signal with the value that is the cross product of the given signals.

distance

distance(other: PointSignal): ScalarSignal

Returns the distance from the point to another point as a ScalarSignal.

div

div(other: ScalarSignal): ScalarSignal

Returns a signal with the value that is the value of the first signal divided by the value of the second signal.

dot

dot(other: VectorSignal): ScalarSignal

Returns a scalar signal with the value that is the dot product of the given signals.

floor

floor(): ScalarSignal

Returns a signal with the value that is the largest integer that is less than or equal to the value of the given signal.

fromRange

fromRange(x: ScalarSignal, min: ScalarSignal, max: ScalarSignal): ScalarSignal

Maps x from [min, max] range to [0.0, 1.0] range.

magnitude

magnitude(): ScalarSignal

Returns the magnitude of the vector as a ScalarSignal.

mod

mod(other: ScalarSignal): ScalarSignal

Returns a signal with the value that is the floating-point remainder of the division of the value of the first signal by the value of the second signal.

mul

mul(other: ScalarSignal): ScalarSignal mul(other: VectorSignal): VectorSignal mul(other: ScalarSignal): VectorSignal mul(other: ScalarSignal): VectorSignal

Returns a signal with the value that is the product of the values of the given signals.

neg

neg(): ScalarSignal neg(): VectorSignal

Returns a signal with the negated value of the given signal.

normalize

normalize(v: VectorSignal): VectorSignal normalize(): VectorSignal

Returns the normalized (unit) vector in the direction of the original vector as a VectorSignal.

pow

pow(exponent: ScalarSignal): ScalarSignal

Returns a signal with the value that is the base signal raised to the power of the exponent signal. The result is undefined if the base is negative, or if the base is zero and the exponent is not positive.

reflect

reflect(incident: VectorSignal, normal: VectorSignal): VectorSignal reflect(normal: VectorSignal): VectorSignal

Calculates the reflection direction for an incident vector and a normal as a VectorSignal.

round

round(): ScalarSignal

Returns a signal with the value that is the rounded value of the given signal.

Note: When the fractional part is 0.5, it rounds the number away from zero, which is at odds with JavaScript standard behavior of rounding it always up in such cases. Therefore, this function is NOT exactly the reactive counterpart of the standard JavaScript Math.round utility.

sign

sign(): ScalarSignal

Returns a signal with the value that is the sign of the given signal. Possible sign values: NaN, -0.0, 0.0, -1.0, 1.0.

Note: this function is the reactive counterpart of the standard JavaScript Math.sign utility.

smoothStep

smoothStep(x: ScalarSignal, edge0: ScalarSignal, edge1: ScalarSignal): ScalarSignal

Returns 0.0 if x is less than edge0, and 1.0 if x is greater than edge1. If x is between edge0 and edge1, smooth Hermite interpolation is performed.

sqrt

sqrt(): ScalarSignal

Returns a signal with the value that is the square root of the value of the given signal.

sub

sub(other: ScalarSignal): ScalarSignal sub(other: PointSignal): VectorSignal sub(other: VectorSignal): PointSignal sub(other: VectorSignal): VectorSignal

Returns a signal with the value that is the difference of the values of the given signals.

sum

sum(other: ScalarSignal): ScalarSignal sum(other: VectorSignal): PointSignal sum(other: VectorSignal): VectorSignal sum(other: PointSignal): PointSignal

Returns a signal with the value that is the sum of the values of the given signals.

Note: add and sum functions are synonyms, the behavior they provide is equivalent.