diff --git a/src/helpers/curveHelper.js b/src/helpers/curveHelper.js index 74a165c..ab6f48d 100644 --- a/src/helpers/curveHelper.js +++ b/src/helpers/curveHelper.js @@ -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); diff --git a/src/model/defs/defined-switches.js b/src/model/defs/defined-switches.js index 8966651..980f4c5 100644 --- a/src/model/defs/defined-switches.js +++ b/src/model/defs/defined-switches.js @@ -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"; diff --git a/src/model/misc/misc.js b/src/model/misc/misc.js index fd98aa4..94638a7 100644 --- a/src/model/misc/misc.js +++ b/src/model/misc/misc.js @@ -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 ]; } }