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
JavaScript
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);
}
}