Fix wrong Quaternion class use in some places
This commit is contained in:
parent
b7c71e37ac
commit
3aec232bf0
@ -1,6 +1,6 @@
|
||||
import Vector3 from "../model/vector3";
|
||||
import Quaternion from "../model/quaternion";
|
||||
import AngleHelper from "./angleHelper";
|
||||
import QuaternionPrefabParser from "../model/quaternion-prefab-parser";
|
||||
|
||||
function calculateCurveEnd(startPos, startAngle, radius, curveLength) {
|
||||
if (radius === 0) {
|
||||
@ -39,7 +39,7 @@ function calculateCurveEndStandard(radius, curveLength) {
|
||||
function transformStart(globalStart, globalRotationDeg, localStart, localRotationQuat) {
|
||||
const globalRotationRad = AngleHelper.rotationDegToRad(globalRotationDeg);
|
||||
const startPos = globalStart.add(localStart.rotate(globalRotationRad));
|
||||
const rotationQuat = Quaternion.fromEulerAnglesRad(globalRotationRad).multiply(localRotationQuat);
|
||||
const rotationQuat = QuaternionPrefabParser.fromEulerAnglesRad(globalRotationRad).multiply(localRotationQuat);
|
||||
const rotationRad = rotationQuat.toEulerAnglesRad();
|
||||
const rotationDeg = AngleHelper.rotationRadToDeg(rotationRad);
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import Quaternion from "../quaternion";
|
||||
import { default as Quaternion } from "../quaternion-prefab-parser";
|
||||
import Vector3 from "../vector3";
|
||||
import {TrackConnectionEnd} from "../track-connection";
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import AngleHelper from "../../helpers/angleHelper";
|
||||
import Quaternion from "../quaternion";
|
||||
import SceneryObject from "../scenery-object";
|
||||
import Vector3 from "../vector3";
|
||||
@ -20,7 +19,7 @@ export default class Misc extends SceneryObject {
|
||||
});
|
||||
}
|
||||
|
||||
static fromText(id, text, miscGroups = []) {
|
||||
static fromText(id, text, miscGroups = []) {
|
||||
const values = text.split(";");
|
||||
|
||||
const object = new Misc(
|
||||
@ -42,7 +41,7 @@ export default class Misc extends SceneryObject {
|
||||
const localRotRad = localRot.multiply(Math.PI / 180);
|
||||
let worldQuat = Quaternion.fromEulerAngles(localRotRad).normalize();
|
||||
let worldPos = localPos.clone();
|
||||
|
||||
|
||||
for (const group of miscGroups) {
|
||||
const groupQuat = group.getQuaternion();
|
||||
worldPos = groupQuat.rotateVector(worldPos).add(group.pos);
|
||||
@ -51,7 +50,7 @@ export default class Misc extends SceneryObject {
|
||||
|
||||
const worldRot = worldQuat.toEulerAngles().multiply(180 / Math.PI);
|
||||
const yawData = worldQuat.getMiscYawData();
|
||||
|
||||
|
||||
return [ worldPos, worldRot, yawData ];
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user