From 6c4d658e20fe1d681f66aa8cc413577650023351 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Thu, 4 Jan 2018 18:53:38 -0800 Subject: [PATCH] UI modularization / moving files around --- .../scene/utils/vectorThreeEnhancement.js | 0 web/app/3d/cad-utils.js | 2 +- web/app/3d/craft/brep/boolean-operation.js | 2 +- web/app/3d/craft/operations.js | 4 ++-- web/app/3d/debug.js | 4 ++-- web/app/3d/modeler-app.js | 6 +++--- .../brepSceneObject.js} | 10 +++++----- .../meshSceneObject.js} | 14 +++++++------- .../planeSceneObject.js} | 6 +++--- .../{scene-object.js => wrappers/sceneObject.js} | 12 ++++++------ .../scene => web/app/3d/viewer}/pickControl.js | 10 +++++++++- web/app/3d/{ => viewer}/viewer.js | 10 +++++----- 12 files changed, 44 insertions(+), 36 deletions(-) rename web/app/3d/scene/vector-three-ench.js => modules/scene/utils/vectorThreeEnhancement.js (100%) rename web/app/3d/scene/{brep-scene-object.js => wrappers/brepSceneObject.js} (95%) rename web/app/3d/scene/{mesh-scene-object.js => wrappers/meshSceneObject.js} (95%) rename web/app/3d/scene/{plane-scene-object.js => wrappers/planeSceneObject.js} (93%) rename web/app/3d/scene/{scene-object.js => wrappers/sceneObject.js} (94%) rename {modules/scene => web/app/3d/viewer}/pickControl.js (83%) rename web/app/3d/{ => viewer}/viewer.js (95%) diff --git a/web/app/3d/scene/vector-three-ench.js b/modules/scene/utils/vectorThreeEnhancement.js similarity index 100% rename from web/app/3d/scene/vector-three-ench.js rename to modules/scene/utils/vectorThreeEnhancement.js diff --git a/web/app/3d/cad-utils.js b/web/app/3d/cad-utils.js index 9a558145..b59be2b6 100644 --- a/web/app/3d/cad-utils.js +++ b/web/app/3d/cad-utils.js @@ -5,7 +5,7 @@ import {Graph} from '../math/graph' import * as math from '../math/math' import {Matrix3, AXIS, ORIGIN} from '../math/l3space' import Counters from './counters' -import {MeshSceneSolid} from './scene/mesh-scene-object' +import {MeshSceneSolid} from './scene/wrappers/meshSceneObject' import DPR from '../utils/dpr' export const FACE_COLOR = 0xB0C4DE; diff --git a/web/app/3d/craft/brep/boolean-operation.js b/web/app/3d/craft/brep/boolean-operation.js index 0dab499d..8dd015ae 100644 --- a/web/app/3d/craft/brep/boolean-operation.js +++ b/web/app/3d/craft/brep/boolean-operation.js @@ -1,5 +1,5 @@ import {subtract, union, intersect} from '../../../brep/operations/boolean' -import {BREPSceneSolid} from '../../scene/brep-scene-object' +import {BREPSceneSolid} from '../../scene/wrappers/brepSceneObject' import {update as updateStitching} from '../../../brep/stitching' import {BREPValidator} from '../../../brep/brep-validator' import {Shell} from '../../../brep/topo/shell' diff --git a/web/app/3d/craft/operations.js b/web/app/3d/craft/operations.js index ecd6fecb..b6b600d6 100644 --- a/web/app/3d/craft/operations.js +++ b/web/app/3d/craft/operations.js @@ -1,8 +1,8 @@ import {MESH_OPERATIONS} from './mesh/workbench' import {Extrude, Cut} from './brep/cut-extrude' import {Revolve} from './brep/revolve' -import {BREPSceneSolid} from '../scene/brep-scene-object' -import {PlaneSceneObject} from '../scene/plane-scene-object' +import {BREPSceneSolid} from '../scene/wrappers/brepSceneObject' +import {PlaneSceneObject} from '../scene/wrappers/planeSceneObject' import {box} from '../../brep/brep-primitives' export const CUT = { diff --git a/web/app/3d/debug.js b/web/app/3d/debug.js index c06d25c3..b12d17d1 100644 --- a/web/app/3d/debug.js +++ b/web/app/3d/debug.js @@ -1,6 +1,6 @@ import {checkForSelectedFaces} from './actions/action-helpers' -import {nurbsToThreeGeom, triangulateToThree} from './scene/brep-scene-object' -import {createSolidMaterial} from './scene/scene-object' +import {nurbsToThreeGeom, triangulateToThree} from './scene/wrappers/brepSceneObject' +import {createSolidMaterial} from './scene/wrappers/sceneObject' import DPR from '../utils/dpr' import Vector from 'math/vector'; import {NurbsCurve} from "../brep/geom/impl/nurbs"; diff --git a/web/app/3d/modeler-app.js b/web/app/3d/modeler-app.js index 8c2000ed..d037c2e6 100644 --- a/web/app/3d/modeler-app.js +++ b/web/app/3d/modeler-app.js @@ -1,7 +1,7 @@ -import './scene/vector-three-ench' +import '../../../modules/scene/utils/vectorThreeEnhancement' import '../utils/three-loader' import {Bus} from '../ui/toolkit' -import {Viewer} from './viewer' +import {Viewer} from './viewer/viewer' import {UI} from './ui/ctrl' import TabSwitcher from './ui/tab-switcher' import ControlBar from './ui/control-bar' @@ -24,7 +24,7 @@ import BrepBuilder from '../brep/brep-builder' import * as BREPPrimitives from '../brep/brep-primitives' import * as BREPBool from '../brep/operations/boolean' import {BREPValidator} from '../brep/brep-validator' -import {BREPSceneSolid} from './scene/brep-scene-object' +import {BREPSceneSolid} from './scene/wrappers/brepSceneObject' import TPI from './tpi' import {NurbsCurve, NurbsCurveImpl, NurbsSurface} from "../brep/geom/impl/nurbs"; import {Circle} from "./craft/sketch/sketch-model"; diff --git a/web/app/3d/scene/brep-scene-object.js b/web/app/3d/scene/wrappers/brepSceneObject.js similarity index 95% rename from web/app/3d/scene/brep-scene-object.js rename to web/app/3d/scene/wrappers/brepSceneObject.js index 5e87ffee..cf090f62 100644 --- a/web/app/3d/scene/brep-scene-object.js +++ b/web/app/3d/scene/wrappers/brepSceneObject.js @@ -1,9 +1,9 @@ import Vector from 'math/vector'; -import {EDGE_AUX, FACE_CHUNK} from '../../brep/stitching' -import {normalOfCCWSeq} from '../cad-utils' -import {TriangulateFace} from '../tess/triangulation' -import {SceneSolid, SceneFace, WIREFRAME_MATERIAL} from './scene-object' -import brepTess from '../tess/brep-tess' +import {EDGE_AUX, FACE_CHUNK} from '../../../brep/stitching' +import {normalOfCCWSeq} from '../../cad-utils' +import {TriangulateFace} from '../../tess/triangulation' +import {SceneSolid, SceneFace, WIREFRAME_MATERIAL} from './sceneObject' +import brepTess from '../../tess/brep-tess' const SMOOTH_RENDERING = false //true; diff --git a/web/app/3d/scene/mesh-scene-object.js b/web/app/3d/scene/wrappers/meshSceneObject.js similarity index 95% rename from web/app/3d/scene/mesh-scene-object.js rename to web/app/3d/scene/wrappers/meshSceneObject.js index cd395d64..0de3d8b3 100644 --- a/web/app/3d/scene/mesh-scene-object.js +++ b/web/app/3d/scene/wrappers/meshSceneObject.js @@ -1,11 +1,11 @@ -import {HashTable} from '../../utils/hashmap' +import {HashTable} from '../../../utils/hashmap' import Vector from 'math/vector'; -import Counters from '../counters' -import {findOutline, segmentsToPaths, reconstructSketchBounds} from '../craft/mesh/workbench' -import {Matrix3, AXIS} from '../../math/l3space' -import {arrFlatten1L, isCurveClass} from '../cad-utils' -import DPR from '../../utils/dpr' -import {SceneSolid, SceneFace} from './scene-object' +import Counters from '../../counters' +import {findOutline, segmentsToPaths, reconstructSketchBounds} from '../../craft/mesh/workbench' +import {Matrix3, AXIS} from '../../../math/l3space' +import {arrFlatten1L, isCurveClass} from '../../cad-utils' +import DPR from 'dpr' +import {SceneSolid, SceneFace} from './sceneObject' export class MeshSceneSolid extends SceneSolid { diff --git a/web/app/3d/scene/plane-scene-object.js b/web/app/3d/scene/wrappers/planeSceneObject.js similarity index 93% rename from web/app/3d/scene/plane-scene-object.js rename to web/app/3d/scene/wrappers/planeSceneObject.js index 852553be..8ed9b829 100644 --- a/web/app/3d/scene/plane-scene-object.js +++ b/web/app/3d/scene/wrappers/planeSceneObject.js @@ -1,7 +1,7 @@ import Vector from 'math/vector'; -import {STANDARD_BASES} from '../../math/l3space' -import {Plane} from '../../brep/geom/impl/plane' -import {SceneSolid, SceneFace} from './scene-object' +import {STANDARD_BASES} from '../../../math/l3space' +import {Plane} from '../../../brep/geom/impl/plane' +import {SceneSolid, SceneFace} from './sceneObject' const INIT_WIDTH_H = 750 * 0.5; const INIT_HEIGHT_H = 750 * 0.5; diff --git a/web/app/3d/scene/scene-object.js b/web/app/3d/scene/wrappers/sceneObject.js similarity index 94% rename from web/app/3d/scene/scene-object.js rename to web/app/3d/scene/wrappers/sceneObject.js index ee37ec44..0095a153 100644 --- a/web/app/3d/scene/scene-object.js +++ b/web/app/3d/scene/wrappers/sceneObject.js @@ -1,10 +1,10 @@ -import {HashTable} from '../../utils/hashmap' +import {HashTable} from '../../../utils/hashmap' import Vector from 'math/vector'; -import Counters from '../counters' -import {Matrix3, BasisForPlane} from '../../math/l3space' -import {isCurveClass} from '../cad-utils' -import DPR from '../../utils/dpr' -import {ReadSketch, ReadSketchFromFace} from "../craft/sketch/sketch-reader"; +import Counters from '../../counters' +import {Matrix3, BasisForPlane} from '../../../math/l3space' +import {isCurveClass} from '../../cad-utils' +import DPR from 'dpr' +import {ReadSketch, ReadSketchFromFace} from "../../craft/sketch/sketch-reader"; export class SceneSolid { diff --git a/modules/scene/pickControl.js b/web/app/3d/viewer/pickControl.js similarity index 83% rename from modules/scene/pickControl.js rename to web/app/3d/viewer/pickControl.js index 624d053b..97fc699d 100644 --- a/modules/scene/pickControl.js +++ b/web/app/3d/viewer/pickControl.js @@ -1,4 +1,12 @@ -export default function initPickControl(domElement, onPick) { + + +export default class PickControl { + constructor(bus) { + this.bus = bus; + } +} + +export function initPickControl(domElement, onPick) { let mouseState = { startX: 0, startY: 0 diff --git a/web/app/3d/viewer.js b/web/app/3d/viewer/viewer.js similarity index 95% rename from web/app/3d/viewer.js rename to web/app/3d/viewer/viewer.js index f023c04b..7885edb8 100644 --- a/web/app/3d/viewer.js +++ b/web/app/3d/viewer/viewer.js @@ -1,14 +1,14 @@ -import {AXIS} from '../math/l3space' +import {AXIS} from '../../math/l3space' import DPR from 'dpr' -import * as mask from '../utils/mask'; -import {EdgeSelectionManager, SelectionManager, SketchSelectionManager} from './selection' +import * as mask from '../../utils/mask'; +import {EdgeSelectionManager, SelectionManager, SketchSelectionManager} from '../selection' import {createArrow} from 'scene/objects/auxiliary'; import Vector from 'math/vector'; import {OnTopOfAll} from 'scene/materialMixins'; import SceneSetup from 'scene/sceneSetup'; import * as SceneGraph from 'scene/sceneGraph'; -import initPickControl from "scene/pickControl"; -import {moveObject3D, setBasisToObject3D} from "../../../modules/scene/objects/transform"; +import {moveObject3D, setBasisToObject3D} from 'scene/objects/transform'; +import {initPickControl} from "./pickControl"; export class Viewer {