import { TypedArray } from '../../types/CommonTypes' ; import { IVector } from './IVector' ; export default abstract class AbstractVector implements IVector { _v : TypedArray = new Float32Array ( ) ; get glslStrAsFloat ( ) : string { throw new Error ( 'Method not implemented.' ) ; } get glslStrAsInt ( ) : string { throw new Error ( 'Method not implemented.' ) ; } isEqual ( vec , delta ? ) { throw new Error ( 'Method not implemented.' ) ; } isStrictEqual ( vec ) { throw new Error ( 'Method not implemented.' ) ; } length ( ) { throw new Error ( 'Method not implemented.' ) ; } lengthSquared ( ) { throw new Error ( 'Method not implemented.' ) ; } lengthTo ( vec ) { throw new Error ( 'Method not implemented.' ) ; } dot ( vec ) { throw new Error ( 'Method not implemented.' ) ; } at ( i ) { return this . _v [ i ] ; } toString ( ) { throw new Error ( 'Method not implemented.' ) ; } toStringApproximately ( ) { throw new Error ( 'Method not implemented.' ) ; } flattenAsArray ( ) { throw new Error ( 'Method not implemented.' ) ; } isDummy ( ) { if ( this . _v . length === 0 ) { return true ; } else { return false ; } } v ( i ) { return this . _v [ i ] ; } isTheSourceSame ( arrayBuffer ) { return this . _v . buffer === arrayBuffer ; } get className ( ) : string { return this . constructor . name ; } }