UNPKG

mdx-m3-viewer

Version:

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

50 lines (44 loc) 1.24 kB
import GenericObject from './genericobject'; /** * An MDX camera. */ export default class Camera extends GenericObject { /** * @param {ModelViewer.viewer.handlers.mdx.Model} model * @param {ModelViewer.parsers.mdlx.Camera} camera * @param {number} index */ constructor(model, camera, index) { super(model, camera, index); this.name = camera.name; this.position = camera.position; this.fieldOfView = camera.fieldOfView; this.farClippingPlane = camera.farClippingPlane; this.nearClippingPlane = camera.nearClippingPlane; this.targetPosition = camera.targetPosition; } /** * @param {vec3} out * @param {ModelInstance} instance * @return {number} */ getPositionTranslation(out, instance) { return this.getVector3Value(out, 'KCTR', instance, this.position); } /** * @param {vec3} out * @param {ModelInstance} instance * @return {number} */ getTargetTranslation(out, instance) { return this.getVector3Value(out, 'KTTR', instance, this.targetPosition); } /** * @param {Uint32Array} out * @param {ModelInstance} instance * @return {number} */ getRotation(out, instance) { return this.getUintValue(out, 'KCRL', instance, 0); } }