wonder.js
Version:
26 lines (21 loc) • 1.54 kB
JavaScript
'use strict';
var QuaternionService$Wonderjs = require("../../../atom/QuaternionService.js");
var RecordTransformMainService$Wonderjs = require("./RecordTransformMainService.js");
var ModelMatrixTransformService$Wonderjs = require("../../../record/main/transform/ModelMatrixTransformService.js");
function rotateLocalOnAxis(transform, param, state) {
var rot = QuaternionService$Wonderjs.setFromAxisAngle(param[0], param[1]);
var transformRecord = RecordTransformMainService$Wonderjs.getRecord(state);
var localRotations = transformRecord[/* localRotations */4];
state[/* transformRecord */11] = ModelMatrixTransformService$Wonderjs.setLocalRotationByTuple(transform, QuaternionService$Wonderjs.multiply(ModelMatrixTransformService$Wonderjs.getLocalRotationTuple(transform, localRotations), rot), transformRecord);
return state;
}
function rotateWorldOnAxis(transform, param, state) {
var rot = QuaternionService$Wonderjs.setFromAxisAngle(param[0], param[1]);
var transformRecord = RecordTransformMainService$Wonderjs.getRecord(state);
var localRotations = transformRecord[/* localRotations */4];
state[/* transformRecord */11] = ModelMatrixTransformService$Wonderjs.setLocalRotationByTuple(transform, QuaternionService$Wonderjs.multiply(rot, ModelMatrixTransformService$Wonderjs.getLocalRotationTuple(transform, localRotations)), transformRecord);
return state;
}
exports.rotateLocalOnAxis = rotateLocalOnAxis;
exports.rotateWorldOnAxis = rotateWorldOnAxis;
/* RecordTransformMainService-Wonderjs Not a pure module */