From 9a0aaf8facb3beb97a7937df784fae7ce6b1faa8 Mon Sep 17 00:00:00 2001 From: "Val Erastov (xibyte)" Date: Thu, 14 May 2020 20:24:06 -0700 Subject: [PATCH] fix dimension serialization --- .../sketcher/components/SketchObjectExplorer.jsx | 2 +- web/app/sketcher/io.ts | 15 +++++++-------- web/app/sketcher/shapes/dim.d.ts | 5 ----- web/app/sketcher/shapes/dim.js | 4 ++-- 4 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 web/app/sketcher/shapes/dim.d.ts diff --git a/web/app/sketcher/components/SketchObjectExplorer.jsx b/web/app/sketcher/components/SketchObjectExplorer.jsx index e206a298..ba3c335f 100644 --- a/web/app/sketcher/components/SketchObjectExplorer.jsx +++ b/web/app/sketcher/components/SketchObjectExplorer.jsx @@ -71,7 +71,7 @@ export function SketchObjectExplorer() { {getObjectRole(o)} tweakSelection(o, e.shiftKey)} - className={cx(ls.objectTag, o.marked && ls.selected)}>{o.simpleClassName} {o.id} + className={cx(ls.objectTag, o.marked && ls.selected)}>{o.simpleClassName} {o.id} ... )} diff --git a/web/app/sketcher/io.ts b/web/app/sketcher/io.ts index 918c8087..7d451300 100644 --- a/web/app/sketcher/io.ts +++ b/web/app/sketcher/io.ts @@ -137,20 +137,22 @@ export class IO { } } + const index = this.viewer.createIndex(); + for (let obj of sketch.dimensions) { try { let type = obj.type; let skobj = null; if (type === HDimension.prototype.TYPE) { - skobj = LinearDimension.load(HDimension, obj.id, obj.data); + skobj = LinearDimension.load(HDimension, obj.id, obj.data, index); } else if (type === VDimension.prototype.TYPE) { - skobj = LinearDimension.load(VDimension, obj.id, obj.data); + skobj = LinearDimension.load(VDimension, obj.id, obj.data, index); } else if (type === LinearDimension.prototype.TYPE) { - skobj = LinearDimension.load(LinearDimension, obj.id, obj.data); + skobj = LinearDimension.load(LinearDimension, obj.id, obj.data, index); } else if (type === DiameterDimension.prototype.TYPE) { - skobj = DiameterDimension.load(obj.id, obj.data); + skobj = DiameterDimension.load(obj.id, obj.data, index); } else if (type === AngleBetweenDimension.prototype.TYPE) { - skobj = AngleBetweenDimension.load(obj.id, obj.data); + skobj = AngleBetweenDimension.load(obj.id, obj.data, index); } if (skobj !== null) { this.viewer.dimLayer.add(skobj); @@ -162,9 +164,6 @@ export class IO { } } - - const index = this.viewer.createIndex(); - for (let i = 0; i < sketch.stages.length; i++) { let dataStage = sketch.stages[i]; let stage = getStage(i); diff --git a/web/app/sketcher/shapes/dim.d.ts b/web/app/sketcher/shapes/dim.d.ts deleted file mode 100644 index 00b679af..00000000 --- a/web/app/sketcher/shapes/dim.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {SketchObject} from "./sketch-object"; - -export interface Dimension extends SketchObject { - -} diff --git a/web/app/sketcher/shapes/dim.js b/web/app/sketcher/shapes/dim.js index 954a9981..8839488d 100644 --- a/web/app/sketcher/shapes/dim.js +++ b/web/app/sketcher/shapes/dim.js @@ -412,7 +412,7 @@ export class DiameterDimension extends Dimension { } } - static load(constr, id, data, index) { + static load(id, data, index) { const dim = new DiameterDimension( index[data.obj], id @@ -713,7 +713,7 @@ export class AngleBetweenDimension extends Dimension { } } - static load(constr, id, data, index) { + static load(id, data, index) { const dim = new AngleBetweenDimension( index[data.a], index[data.b],