@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
39 lines (35 loc) • 1.04 kB
text/typescript
import {Vector2, Vector3, Vector4} from 'three';
import {NamedFunction, NamedFunction2} from './_Base';
export class divideNumber extends NamedFunction<Array<number>, Array<string>> {
static override type() {
return 'divideNumber';
}
func(...args: Array<number>): number {
let first = args[0];
for (let i = 1; i < args.length; i++) {
first /= args[i];
}
return first;
}
}
type AvailableItem = Vector2 | Vector3 | Vector4;
// export class divideVector<V extends AvailableItem> extends NamedFunction<Array<V>, Array<string>> {
// static override type() {
// return 'divideVector';
// }
// func(...args: Array<V>): V {
// const first: V = args[0];
// for (let i = 0; i < args.length; i++) {
// first.divideScalar(args[i] as any);
// }
// return first;
// }
// }
export class divideVectorNumber<V extends AvailableItem> extends NamedFunction2<[V, number]> {
static override type() {
return 'divideVectorNumber';
}
func(vector: V, number: number): V {
return vector.divideScalar(number) as V;
}
}