import { IVector , IVector2 , IMutableVector2 , IVector3 , IMutableVector3 , IVector4 , IMutableVector4 , } from './IVector' ; import { TypedArray , Index } from '../../types/CommonTypes' ; import { IQuaternion } from './IQuaternion' ; export interface IMatrix { _v : Float32Array ; readonly className : string ; toString ( ) : string ; toStringApproximately ( ) : string ; flattenAsArray ( ) : Array < number > ; isDummy ( ) : boolean ; at ( row_i , column_i ) : number ; v ( i ) : number ; determinant ( ) : number ; readonly isIdentityMatrixClass : boolean ; isTheSourceSame ( arrayBuffer ) : boolean ; } export interface IMutableMatrix extends IMatrix { clone ( ) : IMutableMatrix ; raw ( ) : TypedArray ; setAt ( row_i , column_i , value ) : void ; setComponents ( ... num ) : IMutableMatrix ; copyComponents ( mat ) : IMutableMatrix ; zero ( ) : IMutableMatrix ; identity ( ) : IMutableMatrix ; _swap ( l , r ) : void ; transpose ( ) : IMutableMatrix ; invert ( ) : IMutableMatrix ; rotate ( any ) : IMutableMatrix ; scale ( vec ) : IMutableMatrix ; multiplyScale ( vec ) : IMutableMatrix ; multiply ( mat ) : IMutableMatrix ; multiplyByLeft ( mat ) : IMutableMatrix ; } export interface IMatrix22 extends IMatrix { readonly m00 : number ; readonly m01 : number ; readonly m10 : number ; readonly m11 : number ; isEqual ( mat , delta ? ) : boolean ; isStrictEqual ( mat ) : boolean ; determinant ( ) : number ; multiplyVector ( vec ) : IVector2 ; multiplyVectorTo ( vec , outVec ) : IMutableVector2 ; getScale ( ) : IVector2 ; getScaleTo ( outVec ) : IMutableVector2 ; clone ( ) : IMatrix22 ; } export interface IMutableMatrix22 { m00 : number ; m01 : number ; m10 : number ; m11 : number ; toString ( ) : string ; toStringApproximately ( ) : string ; flattenAsArray ( ) : Array < number > ; isDummy ( ) : boolean ; isEqual ( mat , delta ? ) : boolean ; isStrictEqual ( mat ) : boolean ; at ( row_i , column_i ) : number ; determinant ( ) : number ; multiplyVector ( vec ) : IVector2 ; multiplyVectorTo ( vec , outVec ) : IMutableVector2 ; getScale ( ) : IVector2 ; getScaleTo ( outVec ) : IMutableVector2 ; clone ( ) : IMutableMatrix22 ; raw ( ) : TypedArray ; setAt ( row_i , column_i , value ) : IMutableMatrix22 ; setComponents ( m00 , m01 , m10 , m11 ) : IMutableMatrix22 ; copyComponents ( mat ) : IMutableMatrix22 ; zero ( ) : IMutableMatrix22 ; identity ( ) : IMutableMatrix22 ; _swap ( l , r ) : void ; transpose ( ) : IMutableMatrix22 ; invert ( ) : IMutableMatrix22 ; rotate ( radian ) : IMutableMatrix22 ; scale ( vec ) : IMutableMatrix22 ; multiplyScale ( vec ) : IMutableMatrix22 ; multiply ( mat ) : IMutableMatrix22 ; multiplyByLeft ( mat ) : IMutableMatrix22 ; } export interface IMatrix33 extends IMatrix { readonly m00 : number ; readonly m01 : number ; readonly m02 : number ; readonly m10 : number ; readonly m11 : number ; readonly m12 : number ; readonly m20 : number ; readonly m21 : number ; readonly m22 : number ; isEqual ( mat , delta ? ) : boolean ; isStrictEqual ( mat ) : boolean ; clone ( ) : IMatrix33 ; } export interface IMutableMatrix33 { m00 : number ; m01 : number ; m02 : number ; m10 : number ; m11 : number ; m12 : number ; m20 : number ; m21 : number ; m22 : number ; toString ( ) : string ; toStringApproximately ( ) : string ; flattenAsArray ( ) : Array < number > ; isDummy ( ) : boolean ; isEqual ( mat , delta ? ) : boolean ; isStrictEqual ( mat ) : boolean ; at ( row_i , column_i ) : number ; determinant ( ) : number ; multiplyVector ( vec ) : IVector3 ; multiplyVectorTo ( vec , outVec ) : IMutableVector3 ; getScale ( ) : IVector3 ; getScaleTo ( outVec ) : IMutableVector3 ; clone ( ) : IMutableMatrix33 ; raw ( ) : TypedArray ; setAt ( row_i , column_i , value ) : IMutableMatrix33 ; setComponents ( m00 , m01 , m02 , m10 , m11 , m12 , m20 , m21 , m22 ) : IMutableMatrix33 ; copyComponents ( mat ) : IMutableMatrix33 ; zero ( ) : IMutableMatrix33 ; identity ( ) : IMutableMatrix33 ; _swap ( l , r ) : void ; transpose ( ) : IMutableMatrix33 ; invert ( ) : IMutableMatrix33 ; rotateX ( radian ) : IMutableMatrix33 ; rotateY ( radian ) : IMutableMatrix33 ; rotateZ ( radian ) : IMutableMatrix33 ; rotateXYZ ( x , y , z ) : IMutableMatrix33 ; rotate ( vec3 ) : IMutableMatrix33 ; scale ( vec ) : IMutableMatrix33 ; multiplyScale ( vec ) : IMutableMatrix33 ; multiply ( mat ) : IMutableMatrix33 ; multiplyByLeft ( mat ) : IMutableMatrix33 ; } export interface IMatrix44 extends IMatrix { readonly m00 : number ; readonly m01 : number ; readonly m02 : number ; readonly m03 : number ; readonly m10 : number ; readonly m11 : number ; readonly m12 : number ; readonly m13 : number ; readonly m20 : number ; readonly m21 : number ; readonly m22 : number ; readonly m23 : number ; readonly m30 : number ; readonly m31 : number ; readonly m32 : number ; readonly m33 : number ; readonly translateX : number ; readonly translateY : number ; readonly translateZ : number ; at ( row_i , column_i ) : number ; clone ( ) : IMatrix44 ; getRotate ( ) : IMatrix44 ; getTranslate ( ) : IVector3 ; getScale ( ) : IVector3 ; } export interface IMutableMatrix44 extends IMatrix { m00 : number ; m01 : number ; m02 : number ; m03 : number ; m10 : number ; m11 : number ; m12 : number ; m13 : number ; m20 : number ; m21 : number ; m22 : number ; m23 : number ; m30 : number ; m31 : number ; m32 : number ; m33 : number ; translateX : number ; translateY : number ; translateZ : number ; toString ( ) : string ; toStringApproximately ( ) : string ; flattenAsArray ( ) : Array < number > ; isDummy ( ) : boolean ; isEqual ( mat , delta ? ) : boolean ; isStrictEqual ( mat ) : boolean ; at ( row_i , column_i ) : number ; determinant ( ) : number ; multiplyVector ( vec ) : IVector4 ; multiplyVectorTo ( vec , outVec ) : IMutableVector4 ; multiplyVectorToVec3 ( vec , outVec ) : IMutableVector3 ; multiplyVector3 ( vec ) : IVector3 ; multiplyVector3To ( vec , outVec ) : IMutableVector3 ; getTranslate ( ) : IVector3 ; getTranslateTo ( outVec ) : IMutableVector3 ; getScale ( ) : IVector4 ; getScaleTo ( outVec ) : IMutableVector3 ; toEulerAngles ( ) : IVector3 ; toEulerAnglesTo ( outVec3 ) : IMutableVector3 ; clone ( ) : IMutableMatrix44 ; getRotate ( ) : IMutableMatrix44 ; raw ( ) : TypedArray ; setAt ( row_i , column_i , value ) : IMutableMatrix44 ; setComponents ( m00 , m01 , m02 , m03 , m10 , m11 , m12 , m13 , m20 , m21 , m22 , m23 , m30 , m31 , m32 , m33 ) : IMutableMatrix44 ; copyComponents ( mat ) : IMutableMatrix44 ; zero ( ) : IMutableMatrix44 ; identity ( ) : IMutableMatrix44 ; _swap ( l , r ) : void ; transpose ( ) : IMutableMatrix44 ; invert ( ) : IMutableMatrix44 ; translate ( vec ) : IMutableMatrix44 ; putTranslate ( vec ) : IMutableMatrix44 ; addTranslate ( vec ) : IMutableMatrix44 ; rotateX ( radian ) : IMutableMatrix44 ; rotateY ( radian ) : IMutableMatrix44 ; rotateZ ( radian ) : IMutableMatrix44 ; rotateXYZ ( x , y , z ) : IMutableMatrix44 ; rotate ( vec3 ) : IMutableMatrix44 ; scale ( vec ) : IMutableMatrix44 ; multiplyScale ( vec ) : IMutableMatrix44 ; multiply ( mat ) : IMutableMatrix44 ; multiplyByLeft ( mat ) : IMutableMatrix44 ; fromQuaternion ( quat ) : IMutableMatrix44 ; }