UNPKG

mdx-m3-viewer

Version:

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

28 lines (23 loc) 895 B
import { vec3, quat } from 'gl-matrix'; import { VEC3_UNIT_Z } from '../../../common/gl-matrix-addon'; import { MappedDataRow } from '../../../utils/mappeddata'; import DooDoodad from '../../../parsers/w3x/doo/doodad'; import MdxModel from '../mdx/model'; import MdxModelInstance from '../mdx/modelinstance'; import War3MapViewer from './viewer'; /** * A doodad. */ export default class Doodad { instance: MdxModelInstance; row: MappedDataRow; constructor(map: War3MapViewer, model: MdxModel, row: MappedDataRow, doodad: DooDoodad) { let instance = <MdxModelInstance>model.addInstance(); instance.move(<vec3>doodad.location); instance.rotateLocal(quat.setAxisAngle(quat.create(), VEC3_UNIT_Z, doodad.angle)); instance.scale(<vec3>doodad.scale); instance.setScene(map.worldScene); this.instance = instance; this.row = row; } }