123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import { Matrix4 } from './Matrix4';
- import { Quaternion } from './Quaternion';
- import { Matrix3 } from './Matrix3';
- import { BufferAttribute } from './../core/BufferAttribute';
- import { Vector } from './Vector2';
- /**
- * 4D vector.
- *
- * ( class Vector4 implements Vector<Vector4> )
- */
- export class Vector4 implements Vector {
- constructor( x?: number, y?: number, z?: number, w?: number );
- x: number;
- y: number;
- z: number;
- w: number;
- width: number;
- height: number;
- isVector4: true;
- /**
- * Sets value of this vector.
- */
- set( x: number, y: number, z: number, w: number ): this;
- /**
- * Sets all values of this vector.
- */
- setScalar( scalar: number ): this;
- /**
- * Sets X component of this vector.
- */
- setX( x: number ): this;
- /**
- * Sets Y component of this vector.
- */
- setY( y: number ): this;
- /**
- * Sets Z component of this vector.
- */
- setZ( z: number ): this;
- /**
- * Sets w component of this vector.
- */
- setW( w: number ): this;
- setComponent( index: number, value: number ): this;
- getComponent( index: number ): number;
- /**
- * Clones this vector.
- */
- clone(): this;
- /**
- * Copies value of v to this vector.
- */
- copy( v: Vector4 ): this;
- /**
- * Adds v to this vector.
- */
- add( v: Vector4, w?: Vector4 ): this;
- addScalar( scalar: number ): this;
- /**
- * Sets this vector to a + b.
- */
- addVectors( a: Vector4, b: Vector4 ): this;
- addScaledVector( v: Vector4, s: number ): this;
- /**
- * Subtracts v from this vector.
- */
- sub( v: Vector4 ): this;
- subScalar( s: number ): this;
- /**
- * Sets this vector to a - b.
- */
- subVectors( a: Vector4, b: Vector4 ): this;
- /**
- * Multiplies this vector by scalar s.
- */
- multiplyScalar( s: number ): this;
- applyMatrix4( m: Matrix4 ): this;
- /**
- * Divides this vector by scalar s.
- * Set vector to ( 0, 0, 0 ) if s == 0.
- */
- divideScalar( s: number ): this;
- /**
- * http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm
- * @param q is assumed to be normalized
- */
- setAxisAngleFromQuaternion( q: Quaternion ): this;
- /**
- * http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm
- * @param m assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)
- */
- setAxisAngleFromRotationMatrix( m: Matrix3 ): this;
- min( v: Vector4 ): this;
- max( v: Vector4 ): this;
- clamp( min: Vector4, max: Vector4 ): this;
- clampScalar( min: number, max: number ): this;
- floor(): this;
- ceil(): this;
- round(): this;
- roundToZero(): this;
- /**
- * Inverts this vector.
- */
- negate(): this;
- /**
- * Computes dot product of this vector and v.
- */
- dot( v: Vector4 ): number;
- /**
- * Computes squared length of this vector.
- */
- lengthSq(): number;
- /**
- * Computes length of this vector.
- */
- length(): number;
- /**
- * Computes the Manhattan length of this vector.
- *
- * @return {number}
- *
- * @see {@link http://en.wikipedia.org/wiki/Taxicab_geometry|Wikipedia: Taxicab Geometry}
- */
- manhattanLength(): number;
- /**
- * Normalizes this vector.
- */
- normalize(): this;
- /**
- * Normalizes this vector and multiplies it by l.
- */
- setLength( length: number ): this;
- /**
- * Linearly interpolate between this vector and v with alpha factor.
- */
- lerp( v: Vector4, alpha: number ): this;
- lerpVectors( v1: Vector4, v2: Vector4, alpha: number ): this;
- /**
- * Checks for strict equality of this vector and v.
- */
- equals( v: Vector4 ): boolean;
- fromArray( xyzw: number[], offset?: number ): this;
- toArray( xyzw?: number[], offset?: number ): number[];
- fromBufferAttribute(
- attribute: BufferAttribute,
- index: number,
- offset?: number
- ): this;
- }
|