UNPKG

mdx-m3-viewer

Version:

A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.

38 lines (31 loc) 1.05 kB
import BinaryStream from '../../common/binarystream'; import TokenStream from './tokenstream'; /** * An extent. */ export default class Extent { boundsRadius: number = 0; min: Float32Array = new Float32Array(3); max: Float32Array = new Float32Array(3); readMdx(stream: BinaryStream) { this.boundsRadius = stream.readFloat32(); stream.readFloat32Array(this.min); stream.readFloat32Array(this.max); } writeMdx(stream: BinaryStream) { stream.writeFloat32(this.boundsRadius); stream.writeFloat32Array(this.min); stream.writeFloat32Array(this.max); } writeMdl(stream: TokenStream) { if (this.min[0] !== 0 || this.min[1] !== 0 || this.min[2] !== 0) { stream.writeVectorAttrib('MinimumExtent', this.min); } if (this.max[0] !== 0 || this.max[1] !== 0 || this.max[2] !== 0) { stream.writeVectorAttrib('MaximumExtent', this.max); } if (this.boundsRadius !== 0) { stream.writeNumberAttrib('BoundsRadius', this.boundsRadius); } } }