From 95c6a0fe057748300e9b6488cb5fd80ca1ca6ea6 Mon Sep 17 00:00:00 2001 From: Mike Molinari Date: Mon, 25 Jul 2022 22:03:08 +0000 Subject: [PATCH] purging unused code --- web/app/cad/craft/cutExtrude/cutExtrude.js | 114 ----------------- web/app/cad/craft/e0/craftEngine.ts | 2 +- .../craft/spatialCurve/SpatialCurveWizard.jsx | 7 - .../spatialCurve/editor/controlPointObject.js | 121 ------------------ .../spatialCurve/editor/spatialCurveEditor.js | 27 ---- .../spatialCurve/spatialCurveOpSchema.js | 6 - .../spatialCurve/spatialCurveOperation.js | 65 ---------- .../importStepOperation/ImportStepForm.tsx | 10 -- .../ImportStepLocalForm.tsx | 10 -- .../importStepOperation.ts | 89 ------------- .../importStepOperation/importStepSchema.js | 5 - web/app/cad/partImport/remotePartsPlugin.ts | 5 +- .../cad/workbench/workbenchesLoaderPlugin.ts | 2 - 13 files changed, 3 insertions(+), 460 deletions(-) delete mode 100644 web/app/cad/craft/cutExtrude/cutExtrude.js delete mode 100644 web/app/cad/craft/spatialCurve/SpatialCurveWizard.jsx delete mode 100644 web/app/cad/craft/spatialCurve/editor/controlPointObject.js delete mode 100644 web/app/cad/craft/spatialCurve/editor/spatialCurveEditor.js delete mode 100644 web/app/cad/craft/spatialCurve/spatialCurveOpSchema.js delete mode 100644 web/app/cad/craft/spatialCurve/spatialCurveOperation.js delete mode 100644 web/app/cad/partImport/importStepOperation/ImportStepForm.tsx delete mode 100644 web/app/cad/partImport/importStepOperation/ImportStepLocalForm.tsx delete mode 100644 web/app/cad/partImport/importStepOperation/importStepOperation.ts delete mode 100644 web/app/cad/partImport/importStepOperation/importStepSchema.js diff --git a/web/app/cad/craft/cutExtrude/cutExtrude.js b/web/app/cad/craft/cutExtrude/cutExtrude.js deleted file mode 100644 index cb8933d9..00000000 --- a/web/app/cad/craft/cutExtrude/cutExtrude.js +++ /dev/null @@ -1,114 +0,0 @@ -import {enclose} from 'brep/operations/brep-enclose' -import {BooleanOperation, combineShells} from '../booleanOperation' -import {Matrix3x4} from 'math/matrix'; -import {equal} from 'math/equality'; - - -export function Extrude(params, ctx) { - // return doOperation(params, ctx, false); - - return ctx.craftEngine.cutExtrude(false, params); -} - -export function Cut(params, ctx) { - - // return doOperation(params, ctx, true); - - return ctx.craftEngine.cutExtrude(true, params); -} - -export function doOperation(params, ctx, cut) { - const {cadRegistry, sketchStorageService} = ctx; - const face = cadRegistry.findFace(params.face); - const solid = face.solid; - - let sketch = sketchStorageService.readSketch(face.id); - if (!sketch) throw 'sketch not found for the face ' + face.id; - - let vector = resolveExtrudeVector(cadRegistry, face, params, !cut); - const details = getEncloseDetails(params, sketch.fetchContours(), vector, face.csys, face.surface, !cut, false); - const operand = combineShells(details.map(d => enclose(d.basePath, d.lidPath, d.baseSurface, d.lidSurface))); - return BooleanOperation(face, solid, operand, cut ? 'subtract' : 'union'); -} - -export function resolveExtrudeVector(cadRegistry, face, params, invert) { - let vector = null; - if (params.datumAxisVector) { - const datumAxis = cadRegistry.findDatumAxis(params.datumAxisVector); - if (datumAxis) { - vector = datumAxis.dir; - invert = false; - } - } else if (params.edgeVector) { - const edge = cadRegistry.findEdge(params.edgeVector); - const curve = edge.brepEdge.curve; - if (curve.degree === 1) { - vector = edge.brepEdge.curve.tangentAtParam(edge.brepEdge.curve.uMin); - if (vector.dot(face.csys.z) < 0 === invert) { - vector = vector.negate(); - } - invert = false; - } - } else if (params.sketchSegmentVector) { - const mSegment = cadRegistry.findSketchObject(params.sketchSegmentVector); - if (mSegment.sketchPrimitive.isSegment) { - let [a, b] = mSegment.sketchPrimitive.tessellate().map(mSegment.face.sketchToWorldTransformation.apply); - vector = b.minus(a)._normalize(); - if (vector.dot(face.csys.z) < 0 === invert) { - vector._negate(); - } - invert = false; - } - } - if (!vector) { - invert = !invert; - vector = face.csys.z; - } - - if (params.flip) { - invert = !invert; - } - - let value = params.value; - if (value < 0) { - value = Math.abs(value); - invert = !invert; - } - - if (invert) { - vector = vector.negate(); - } - - return vector.multiply(value); -} - -export function getEncloseDetails(params, contours, target, csys, sketchSurface, invert) { - let details = []; - for (let contour of contours) { - if (invert) contour.reverse(); - const basePath = contour.transferInCoordinateSystem(csys); - if (invert) contour.reverse(); - - const lidPath = []; - let applyPrism = !equal(params.prism, 1); - let prismTr = null; - if (applyPrism) { - prismTr = new Matrix3x4(); - prismTr.scale(params.prism, params.prism, params.prism); - } - for (let i = 0; i < basePath.length; ++i) { - const curve = basePath[i]; - let lidCurve = cur - ve.translate(target); - if (applyPrism) { - lidCurve = lidCurve.transform(prismTr); - } - lidPath.push(lidCurve); - } - - const baseSurface = sketchSurface.tangentPlane(0, 0); - const lidSurface = baseSurface.translate(target).invert(); - details.push({basePath, lidPath, baseSurface, lidSurface}); - } - return details; -} \ No newline at end of file diff --git a/web/app/cad/craft/e0/craftEngine.ts b/web/app/cad/craft/e0/craftEngine.ts index ddeef5de..e386d2c6 100644 --- a/web/app/cad/craft/e0/craftEngine.ts +++ b/web/app/cad/craft/e0/craftEngine.ts @@ -12,7 +12,7 @@ import { import * as vec from 'math/vec'; import {MOpenFaceShell} from '../../model/mopenFace'; import {BooleanType, EngineAPI_V1} from "engine/api"; -import {resolveExtrudeVector} from "../cutExtrude/cutExtrude"; + import {ApplicationContext} from "context"; import {MBrepShell} from "../../model/mshell"; diff --git a/web/app/cad/craft/spatialCurve/SpatialCurveWizard.jsx b/web/app/cad/craft/spatialCurve/SpatialCurveWizard.jsx deleted file mode 100644 index 5d414535..00000000 --- a/web/app/cad/craft/spatialCurve/SpatialCurveWizard.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; -import {Group} from '../wizard/components/form/Form'; - -export default function SpatialCurveWizard() { - return - ; -} \ No newline at end of file diff --git a/web/app/cad/craft/spatialCurve/editor/controlPointObject.js b/web/app/cad/craft/spatialCurve/editor/controlPointObject.js deleted file mode 100644 index 4e0fe51e..00000000 --- a/web/app/cad/craft/spatialCurve/editor/controlPointObject.js +++ /dev/null @@ -1,121 +0,0 @@ -import DatumObject3D from '../../datum/datumObject'; -import { - ArcCurve, CatmullRomCurve3, CubicBezierCurve3, CurvePath, ExtrudeBufferGeometry, Mesh, MeshBasicMaterial, Object3D, - PolyhedronGeometry, - Shape, - SphereGeometry, Vector2, Vector3 -} from 'three'; -import {CSYS_SIZE_MODEL} from '../../datum/csysObject'; -import {DisposableMesh} from 'scene/objects/disposableMesh'; - -export default class ControlPointObject3D extends DatumObject3D { - - constructor(csys, viewer) { - super(csys, viewer); - this.affordanceArea = new AffordanceArea(); - this.csysObj.add(this.affordanceArea); - const xrh = new RotationHandleHolder(new RotationHandle(0xff0000)); - const yrh = new RotationHandleHolder(new RotationHandle(0x00ff00)); - const zrh = new RotationHandleHolder(new RotationHandle(0x0000ff)); - - // yrh.rotateOnAxis(new Vector3(1, 0, 0), Math.PI * 0.5); - - // zrh.rotateOnAxis(new Vector3(1, 0, 0), Math.PI * 0.5); - - // this.csysObj.add(xrh); - this.csysObj.add(yrh); - // this.csysObj.add(zrh); - } - -} - -class RotationHandleHolder extends Object3D { - - constructor(handle, rotation) { - - super(); - - let size = CSYS_SIZE_MODEL * 1.05; - - - this.position.set(0, 0, -size); - handle.scale.set(size, size, size); - - this.add(handle); - this.dispose = () => handle.dispose(); - } -} - -class RotationHandle extends DisposableMesh { - - constructor(color) { - - const path = new CurvePath(); - - const C = 0.551915024494; - - path.curves.push(new CubicBezierCurve3( - new Vector3( 0, 1, 0 ), - new Vector3( C, 1, 0 ), - new Vector3( 1, C, 0 ), - new Vector3( 1, 0, 0 ), - ), - new CubicBezierCurve3( - new Vector3( 1, 0, 0 ), - new Vector3( 1, -C, 0 ), - new Vector3( C, -1, 0 ), - new Vector3( 0, -1, 0 ), - ), - new CubicBezierCurve3( - new Vector3( 0, -1, 0 ), - new Vector3( -C, -1, 0 ), - new Vector3( -1, -C, 0 ), - new Vector3( -1, 0, 0 ), - ) - ); - - let extrudeSettings = { - steps: 50, - extrudePath: path - }; - - - let S = 0.01; - let shape = new Shape( [new Vector3(-S, -S), new Vector3(S, -S), new Vector3(S, S), new Vector3(-S, S), new Vector3(-S, -S)] ); - - let geometry = new ExtrudeBufferGeometry( [shape], extrudeSettings ); - - super(geometry, new MeshBasicMaterial({ - // transparent: true, - // opacity: 0.5, - color, - // visible: false - })); - } - - dispose() { - this.geometry.dispose(); - this.material.dispose(); - } -} - - -class AffordanceArea extends DisposableMesh { - - constructor() { - super(new SphereGeometry( 1, 8, 8), new MeshBasicMaterial({ - transparent: true, - opacity: 0.5, - color: 0xAA8439, - // visible: false - })); - - let size = CSYS_SIZE_MODEL * 1.05; - this.scale.set(size, size, size); - } - - dispose() { - this.geometry.dispose(); - this.material.dispose(); - } -} diff --git a/web/app/cad/craft/spatialCurve/editor/spatialCurveEditor.js b/web/app/cad/craft/spatialCurve/editor/spatialCurveEditor.js deleted file mode 100644 index 0608e076..00000000 --- a/web/app/cad/craft/spatialCurve/editor/spatialCurveEditor.js +++ /dev/null @@ -1,27 +0,0 @@ -import * as SceneGraph from 'scene/sceneGraph'; -import ControlPointObject3D from './controlPointObject'; - -export default function spatialCurveEditor(workGroup, viewer, frames) { - - function init() { - frames.forEach(addPoint); - } - - - function addPoint(pCsys) { - SceneGraph.addToGroup(workGroup, new ControlPointObject3D(pCsys, viewer)); - viewer.requestRender(); - } - - function dispose() { - - } - - init(); - - return { - dispose - } -} - - diff --git a/web/app/cad/craft/spatialCurve/spatialCurveOpSchema.js b/web/app/cad/craft/spatialCurve/spatialCurveOpSchema.js deleted file mode 100644 index b27bf780..00000000 --- a/web/app/cad/craft/spatialCurve/spatialCurveOpSchema.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - points: { - type: 'number', - defaultValue: 0 - }, -} \ No newline at end of file diff --git a/web/app/cad/craft/spatialCurve/spatialCurveOperation.js b/web/app/cad/craft/spatialCurve/spatialCurveOperation.js deleted file mode 100644 index 2f596087..00000000 --- a/web/app/cad/craft/spatialCurve/spatialCurveOperation.js +++ /dev/null @@ -1,65 +0,0 @@ -import CSys from 'math/csys'; -import {MDatum} from '../../model/mdatum'; - -import spatialCurveOpSchema from './spatialCurveOpSchema'; -import SpatialCurveWizard from './SpatialCurveWizard'; -import spatialCurveEditor from './editor/spatialCurveEditor'; - -function updateCSys(csys, params, findFace) { - csys.copy(CSys.ORIGIN); - if (params.originatingFace) { - const face = findFace(params.originatingFace); - if (face) { - csys.copy(face.csys); - } - } - - csys.origin.x += params.x; - csys.origin.y += params.y; - csys.origin.z += params.z; -} - -function create(params, {cadRegistry}) { - let csys = CSys.origin(); - updateCSys(csys, params, cadRegistry.findFace); - - return { - consumed: [], - created: [new MDatum(csys)] - } -} - -function previewer(ctx, initialParams, updateParams) { - - let editor = spatialCurveEditor(ctx.services.cadScene.workGroup, ctx.services.viewer, [CSys.ORIGIN]); - - - function update(params) { - // updateCSys(datum3D.csys, params, ctx.services.cadRegistry.findFace); - } - - function dispose() { - editor.dispose(); - } - - - update(initialParams); - - return { - update, dispose - } -} - -export default { - id: 'SPATIAL_CURVE', - label: 'Edit Spatial Curve', - icon: 'img/cad/plane', - info: 'create/edit spatial curve', - previewer, - run: create, - form: SpatialCurveWizard, - schema: spatialCurveOpSchema   -}; - - - diff --git a/web/app/cad/partImport/importStepOperation/ImportStepForm.tsx b/web/app/cad/partImport/importStepOperation/ImportStepForm.tsx deleted file mode 100644 index dd96ae00..00000000 --- a/web/app/cad/partImport/importStepOperation/ImportStepForm.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import {Group} from "../../craft/wizard/components/form/Form"; -import {TextField} from "../../craft/wizard/components/form/Fields"; - -export function ImportStepForm() { - - return - - ; -} \ No newline at end of file diff --git a/web/app/cad/partImport/importStepOperation/ImportStepLocalForm.tsx b/web/app/cad/partImport/importStepOperation/ImportStepLocalForm.tsx deleted file mode 100644 index 4ffe2ea0..00000000 --- a/web/app/cad/partImport/importStepOperation/ImportStepLocalForm.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import {Group} from "../../craft/wizard/components/form/Form"; -import {FileField} from "../../craft/wizard/components/form/Fields"; - -export function ImportStepLocalForm() { - - return - - ; -} \ No newline at end of file diff --git a/web/app/cad/partImport/importStepOperation/importStepOperation.ts b/web/app/cad/partImport/importStepOperation/importStepOperation.ts deleted file mode 100644 index 76fa41f0..00000000 --- a/web/app/cad/partImport/importStepOperation/importStepOperation.ts +++ /dev/null @@ -1,89 +0,0 @@ -import {ImportStepForm} from "./ImportStepForm"; -import importStepSchema from "./importStepSchema"; -import {OperationDescriptor} from "../../craft/operationPlugin"; -import {ApplicationContext} from "context"; -import {OperationResult} from "../../craft/craftPlugin"; -import {GiLunarModule} from "react-icons/gi"; -import {BiCubeAlt} from "react-icons/bi"; -import {checkHttpResponseStatus} from "network/checkHttpResponseStatus"; -import { LocalFile } from "ui/components/controls/FileControl"; -import { ImportStepLocalForm } from "./ImportStepLocalForm"; -import { string } from "prop-types"; - -export interface ImportStepOperationParams { - url: string, -} - -export interface ImportStepFromLocalOperationParams { - - file: LocalFile; - -} - -export const ImportStepOperation: OperationDescriptor = { - - id: 'IMPORT_STEP_FILE', - label: 'import step file', - icon: GiLunarModule, - info: 'import step file from external url', - paramsInfo: ({url}) => url, - previewGeomProvider: null, - run: importStepFile, - form: ImportStepForm, - schema: importStepSchema -}; - -export const ImportStepFromLocalFileOperation: OperationDescriptor = { - - id: 'IMPORT_STEP_LOCAL_FILE', - label: 'import local step file', - icon: BiCubeAlt, - info: 'import step file from local file', - paramsInfo: ({file}) => file && file.fileName, - previewGeomProvider: null, - run: importStepLocalFile, - form: ImportStepLocalForm, - schema: { - file: { - type: 'object', - schema: { - fileName: { - type: 'string', - }, - constent: { - type: 'string', - } - } - } - } -}; - -function importStepFile(params: ImportStepOperationParams, ctx: ApplicationContext): Promise { - - const {cadRegistry, remotePartsService} = ctx; - - return fetch(params.url).then(checkHttpResponseStatus).then(res => res.text()).then(data => { - - console.log(data); - FS.writeFile('/tmp/test', data); - - return ctx.services.craftEngine.stepImport({ - file: '/tmp/test' - }); - }) - - -} - -function importStepLocalFile(params: ImportStepFromLocalOperationParams, ctx: ApplicationContext): Promise { - - const {cadRegistry, remotePartsService} = ctx; - - console.log(params.file.content); - FS.writeFile('/tmp/test', params.file.content); - - return ctx.services.craftEngine.stepImport({ - file: '/tmp/test' - }); - -} \ No newline at end of file diff --git a/web/app/cad/partImport/importStepOperation/importStepSchema.js b/web/app/cad/partImport/importStepOperation/importStepSchema.js deleted file mode 100644 index 011c1541..00000000 --- a/web/app/cad/partImport/importStepOperation/importStepSchema.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - url: { - type: 'string' - } -} diff --git a/web/app/cad/partImport/remotePartsPlugin.ts b/web/app/cad/partImport/remotePartsPlugin.ts index 090bcbe2..7800c8dd 100644 --- a/web/app/cad/partImport/remotePartsPlugin.ts +++ b/web/app/cad/partImport/remotePartsPlugin.ts @@ -16,13 +16,12 @@ import {activate as activateExpressionsPlugin} from '../expressions/expressionsP import {activate as activateCadRegistryPlugin} from '../craft/cadRegistryPlugin'; import {activate as activateStoragePlugin} from '../storage/storagePlugin'; import {activate as activateSketchStoragePlugin} from '../sketch/sketchStoragePlugin'; -import {ImportStepFromLocalFileOperation, ImportStepOperation} from "./importStepOperation/importStepOperation"; export function activate(ctx: ApplicationContext) { - ctx.domService.contributeComponent(CatalogPartChooser); + //ctx.domService.contributeComponent(CatalogPartChooser); - ctx.operationService.registerOperations([ImportPartOperation, ImportStepOperation, ImportStepFromLocalFileOperation]); + //ctx.operationService.registerOperations([ImportPartOperation, ImportStepOperation, ImportStepFromLocalFileOperation]); function loadDefinedCatalogs(): Promise<[CatalogCategory, PartsCatalog][]> { diff --git a/web/app/cad/workbench/workbenchesLoaderPlugin.ts b/web/app/cad/workbench/workbenchesLoaderPlugin.ts index 1620983b..a9b6bab1 100644 --- a/web/app/cad/workbench/workbenchesLoaderPlugin.ts +++ b/web/app/cad/workbench/workbenchesLoaderPlugin.ts @@ -4,7 +4,6 @@ import createDatumOperation from "cad/craft/datum/create/createDatumOperation"; import moveDatumOperation from "cad/craft/datum/move/moveDatumOperation"; import rotateDatumOperation from "cad/craft/datum/rotate/rotateDatumOperation"; import datumOperation from "cad/craft/primitives/plane/planeOperation"; -import spatialCurveOperation from "cad/craft/spatialCurve/spatialCurveOperation"; import {Plugin} from "plugable/pluginSystem"; import {WorkbenchService} from "cad/workbench/workbenchService"; import {OperationService} from "cad/craft/operationPlugin"; @@ -39,6 +38,5 @@ function registerCoreOperations(ctx: WorkbenchesLoaderInputContext) { moveDatumOperation, rotateDatumOperation, datumOperation, - spatialCurveOperation, ] as any); } \ No newline at end of file