chili3d 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -175
- package/{packages/chili → chili}/package.json +6 -1
- package/{packages/chili-builder → chili-builder}/package.json +6 -1
- package/{packages/chili-controls → chili-controls}/package.json +6 -1
- package/{packages/chili-core → chili-core}/package.json +6 -1
- package/{packages/chili-geo → chili-geo}/package.json +6 -1
- package/{packages/chili-i18n → chili-i18n}/package.json +6 -1
- package/{packages/chili-storage → chili-storage}/package.json +6 -1
- package/{packages/chili-three → chili-three}/package.json +6 -1
- package/{packages/chili-ui → chili-ui}/package.json +6 -1
- package/{packages/chili-vis → chili-vis}/package.json +6 -1
- package/{packages/chili-wasm → chili-wasm}/package.json +6 -1
- package/{packages/chili-web → chili-web}/package.json +6 -1
- package/package.json +18 -48
- package/.github/workflows/main.yml +0 -26
- package/.vscode/c_cpp_properties.json +0 -30
- package/.vscode/launch.json +0 -21
- package/.vscode/settings.json +0 -8
- package/Dockerfile +0 -7
- package/LICENSE +0 -661
- package/biome.json +0 -67
- package/compose.yml +0 -7
- package/cpp/CMakeLists.txt +0 -96
- package/cpp/CMakePresets.json +0 -43
- package/cpp/README.md +0 -21
- package/cpp/src/converter.cpp +0 -413
- package/cpp/src/factory.cpp +0 -612
- package/cpp/src/geometry.cpp +0 -204
- package/cpp/src/mesher.cpp +0 -330
- package/cpp/src/opencascade.cpp +0 -414
- package/cpp/src/shape.cpp +0 -447
- package/cpp/src/shared.cpp +0 -83
- package/cpp/src/shared.hpp +0 -211
- package/cpp/src/transient.cpp +0 -29
- package/cpp/src/utils.cpp +0 -114
- package/cpp/src/utils.hpp +0 -25
- package/cpp/test/index.html +0 -146
- package/packages/chili/test/command.test.ts +0 -4
- package/packages/chili-controls/test/converter.test.ts +0 -70
- package/packages/chili-controls/test/styleMock.js +0 -4
- package/packages/chili-core/test/binding.test.ts +0 -95
- package/packages/chili-core/test/boundingBox.test.ts +0 -60
- package/packages/chili-core/test/collection.test.ts +0 -53
- package/packages/chili-core/test/history.test.ts +0 -42
- package/packages/chili-core/test/line.test.ts +0 -75
- package/packages/chili-core/test/linesegment.test.ts +0 -98
- package/packages/chili-core/test/linkedList.test.ts +0 -82
- package/packages/chili-core/test/math.test.ts +0 -34
- package/packages/chili-core/test/matrix.test.ts +0 -129
- package/packages/chili-core/test/node.test.ts +0 -122
- package/packages/chili-core/test/nodeList.test.ts +0 -247
- package/packages/chili-core/test/observer.test.ts +0 -91
- package/packages/chili-core/test/plane.test.ts +0 -31
- package/packages/chili-core/test/quaternion.test.ts +0 -14
- package/packages/chili-core/test/result.test.ts +0 -24
- package/packages/chili-core/test/serializer.test.ts +0 -58
- package/packages/chili-core/test/snapType.test.ts +0 -10
- package/packages/chili-core/test/task.test.ts +0 -41
- package/packages/chili-core/test/testDocument.ts +0 -70
- package/packages/chili-core/test/transaction.test.ts +0 -42
- package/packages/chili-core/test/visual.test.ts +0 -42
- package/packages/chili-core/test/xyz.test.ts +0 -260
- package/packages/chili-three/test/cameraControls.ts +0 -10
- package/packages/chili-three/test/testDocument.ts +0 -68
- package/packages/chili-three/test/testEdge.ts +0 -171
- package/packages/chili-three/test/testView.ts +0 -78
- package/packages/chili-three/test/three.test.ts +0 -44
- package/packages/chili-three/test/viewGizmo.ts +0 -12
- package/packages/global.d.ts +0 -31
- package/public/favicon.svg +0 -10
- package/public/fonts/fzhei.json +0 -46120
- package/public/iconfont.js +0 -1
- package/public/images/wechat.jpg +0 -0
- package/public/index.css +0 -13
- package/public/index.html +0 -24
- package/rspack.config.ts +0 -93
- package/rstest.config.ts +0 -27
- package/screenshots/screenshot.png +0 -0
- package/scripts/add_copyright.mjs +0 -59
- package/scripts/build-npm.mjs +0 -105
- package/scripts/common.mjs +0 -24
- package/scripts/release.mjs +0 -92
- package/scripts/restore-package-json.mjs +0 -27
- package/scripts/setup_wasm_deps.mjs +0 -97
- package/scripts/update-package-json.mjs +0 -27
- package/tsconfig.build.json +0 -14
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.json +0 -19
- /package/{packages/chili → chili}/src/application.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/arc.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/boolean.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/box.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/circle.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/cone.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/cylinder.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/ellipse.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/face.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/fuse.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/index.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/line.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/polygon.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/prism.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/pyramid.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/rect.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/revolve.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/sphere.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/sweep.ts +0 -0
- /package/{packages/chili → chili}/src/bodys/wire.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/index.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/newDocument.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/openDocument.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/performanceTest.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/saveDocument.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/toFile.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/toggleDynamicWorkplane.ts +0 -0
- /package/{packages/chili → chili}/src/commands/application/wechatGroup.ts +0 -0
- /package/{packages/chili → chili}/src/commands/boolean.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/arc.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/bezier.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/box.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/circle.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/cone.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/converter.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/copySubShape.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/curveProjection.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/cylinder.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/ellipse.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/group.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/index.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/line.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/loft.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/offset.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/polygon.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/prism.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/pyramid.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/rect.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/revolve.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/section.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/sphere.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/sweep.ts +0 -0
- /package/{packages/chili → chili}/src/commands/create/thickSolid.ts +0 -0
- /package/{packages/chili → chili}/src/commands/createActCommand.ts +0 -0
- /package/{packages/chili → chili}/src/commands/createCommand.ts +0 -0
- /package/{packages/chili → chili}/src/commands/delete.ts +0 -0
- /package/{packages/chili → chili}/src/commands/folder.ts +0 -0
- /package/{packages/chili → chili}/src/commands/importExport.ts +0 -0
- /package/{packages/chili → chili}/src/commands/index.ts +0 -0
- /package/{packages/chili → chili}/src/commands/measure/angle.ts +0 -0
- /package/{packages/chili → chili}/src/commands/measure/index.ts +0 -0
- /package/{packages/chili → chili}/src/commands/measure/length.ts +0 -0
- /package/{packages/chili → chili}/src/commands/measure/select.module.css +0 -0
- /package/{packages/chili → chili}/src/commands/measure/select.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/array.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/break.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/brush.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/chamfer.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/explode.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/fillet.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/index.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/mirror.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/move.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/removeFeature.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/removeSubShapes.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/rotate.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/split.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/transformedCommand.ts +0 -0
- /package/{packages/chili → chili}/src/commands/modify/trim.ts +0 -0
- /package/{packages/chili → chili}/src/commands/multistepCommand.ts +0 -0
- /package/{packages/chili → chili}/src/commands/redo.ts +0 -0
- /package/{packages/chili → chili}/src/commands/undo.ts +0 -0
- /package/{packages/chili → chili}/src/commands/workingPlane.ts +0 -0
- /package/{packages/chili → chili}/src/comparers/NumberEqualityComparer.ts +0 -0
- /package/{packages/chili → chili}/src/comparers/XYZEqualityComparer.ts +0 -0
- /package/{packages/chili → chili}/src/comparers/index.ts +0 -0
- /package/{packages/chili → chili}/src/document.ts +0 -0
- /package/{packages/chili → chili}/src/editEventHandler.ts +0 -0
- /package/{packages/chili → chili}/src/index.ts +0 -0
- /package/{packages/chili → chili}/src/selection.ts +0 -0
- /package/{packages/chili → chili}/src/services/commandService.ts +0 -0
- /package/{packages/chili → chili}/src/services/editorService.ts +0 -0
- /package/{packages/chili → chili}/src/services/hotkeyService.ts +0 -0
- /package/{packages/chili → chili}/src/services/index.ts +0 -0
- /package/{packages/chili → chili}/src/snap/dimension.ts +0 -0
- /package/{packages/chili → chili}/src/snap/handlers/angleSnapEventHandler.ts +0 -0
- /package/{packages/chili → chili}/src/snap/handlers/index.ts +0 -0
- /package/{packages/chili → chili}/src/snap/handlers/lengthSnapEventHandler.ts +0 -0
- /package/{packages/chili → chili}/src/snap/handlers/pointSnapEventHandler.ts +0 -0
- /package/{packages/chili → chili}/src/snap/handlers/snapEventHandler.ts +0 -0
- /package/{packages/chili → chili}/src/snap/index.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/axisSnap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/baseSnap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/featurePointStrategy.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/index.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/objectSnap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/planeSnap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/snaps/pointOnCurveSnap.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/axis.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/axisTracking.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/index.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/objectTracking.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/trackingBase.ts +0 -0
- /package/{packages/chili → chili}/src/snap/tracking/trackingSnap.ts +0 -0
- /package/{packages/chili → chili}/src/step/angleStep.ts +0 -0
- /package/{packages/chili → chili}/src/step/index.ts +0 -0
- /package/{packages/chili → chili}/src/step/lengthStep.ts +0 -0
- /package/{packages/chili → chili}/src/step/pointStep.ts +0 -0
- /package/{packages/chili → chili}/src/step/selectStep.ts +0 -0
- /package/{packages/chili → chili}/src/step/step.ts +0 -0
- /package/{packages/chili → chili}/src/utils.ts +0 -0
- /package/{packages/chili-builder → chili-builder}/src/additionalModule.ts +0 -0
- /package/{packages/chili-builder → chili-builder}/src/appBuilder.ts +0 -0
- /package/{packages/chili-builder → chili-builder}/src/defaultDataExchange.ts +0 -0
- /package/{packages/chili-builder → chili-builder}/src/index.ts +0 -0
- /package/{packages/chili-builder → chili-builder}/src/ribbon.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/collection.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/controls.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/colorConverter.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/index.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/numberConverter.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/stringConverter.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/urlConverter.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/converters/xyzConverter.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/expander/expander.module.css +0 -0
- /package/{packages/chili-controls → chili-controls}/src/expander/expander.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/expander/index.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/htmlProps.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/index.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/radioGroup.module.css +0 -0
- /package/{packages/chili-controls → chili-controls}/src/radioGroup.ts +0 -0
- /package/{packages/chili-controls → chili-controls}/src/utils.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/application.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/command/command.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/command/commandKeys.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/command/decarator.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/command/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/config.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/constants.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/dataExchange.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/document.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/editor.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/asyncController.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/binding.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/collection.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/converter.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/deepObserver.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/disposable.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/dto/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/equalityComparer.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/gc.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/history.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/id.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/lazy.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/linkedList.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/logger.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/messageType.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/objectStorage.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/observer.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/precision.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/pubsub.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/result.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/storage.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/transaction.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/utils/debounce.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/utils/download.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/utils/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/foundation/utils/readFileAsync.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/i18n/i18n.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/i18n/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/i18n/keys.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/material.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/boundingBox.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/line.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/lineSegment.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/mathUtils.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/matrix4.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/plane.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/planeAngle.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/quaternion.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/ray.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/xy.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/math/xyz.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/component.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/facebaseNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/folderNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/geometryNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/groupNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/meshNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/node.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/shapeNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/model/visualNode.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/modelManager.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/navigation.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/property.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/selection.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/selectionFilter.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/serialize/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/serialize/serializer.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/service.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/curve.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/geometry.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/lineType.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/meshData.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/shape.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/shapeConverter.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/shapeFactory.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/shapeType.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/shape/surface.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/snapType.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/button.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/combobox.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/dialog.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/ribbon.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/ui/window.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/act.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/cameraController.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/cursorType.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/detectedData.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/eventHandler.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/highlighter.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/index.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/meshExporter.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/meshUtils.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/textGenerator.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/view.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/viewGizmo.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/viewport.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/visual.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/visualContext.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/visualFactory.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/visualObject.ts +0 -0
- /package/{packages/chili-core → chili-core}/src/visual/visualShape.ts +0 -0
- /package/{packages/chili-geo → chili-geo}/src/index.ts +0 -0
- /package/{packages/chili-geo → chili-geo}/src/utils.ts +0 -0
- /package/{packages/chili-i18n → chili-i18n}/src/en.ts +0 -0
- /package/{packages/chili-i18n → chili-i18n}/src/index.ts +0 -0
- /package/{packages/chili-i18n → chili-i18n}/src/pt-br.ts +0 -0
- /package/{packages/chili-i18n → chili-i18n}/src/zh-cn.ts +0 -0
- /package/{packages/chili-storage → chili-storage}/src/index.ts +0 -0
- /package/{packages/chili-storage → chili-storage}/src/indexedDBStorage.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/cameraController.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/common.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/constants.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/highlightable.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/index.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/meshExporter.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/outlinePass.js +0 -0
- /package/{packages/chili-three → chili-three}/src/texture_points.jpg +0 -0
- /package/{packages/chili-three → chili-three}/src/threeGeometry.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeGeometryFactory.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeHelper.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeHighlighter.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeView.module.css +0 -0
- /package/{packages/chili-three → chili-three}/src/threeView.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeViewEventHandler.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeVisual.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeVisualContext.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeVisualFactory.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/threeVisualObject.ts +0 -0
- /package/{packages/chili-three → chili-three}/src/viewGizmo.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/cursor/draw.cur +0 -0
- /package/{packages/chili-ui → chili-ui}/src/cursor/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/dialog.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/dialog.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/editor.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/editor.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/home.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/home.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/languageSelector.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/navigation3DSelector.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/home/themeSelector.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/mainWindow.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/mainWindow.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/okCancel.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/okCancel.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/permanent.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/permanent.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/projectView.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/projectView.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/toolBar.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/toolBar.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/tree.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/tree.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeItem.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeItem.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeItemGroup.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeItemGroup.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeModel.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/project/tree/treeModel.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/check.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/colorPorperty.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/colorProperty.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/common.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/input.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/input.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/materialDataContent.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/materialEditor.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/materialEditor.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/textureEditor.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/material/textureEditor.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/materialProperty.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/materialProperty.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/matrixProperty.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/propertyBase.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/propertyBase.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/propertyView.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/propertyView.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/property/utils.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/commandContext.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/commandContext.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbon.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbon.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonButton.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonButton.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonData.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonStack.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonStack.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonToggleButton.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/ribbon/ribbonToggleButton.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/statusbar/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/statusbar/snapConfig.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/statusbar/snapConfig.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/statusbar/statusbar.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/statusbar/statusbar.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/toast/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/toast/toast.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/toast/toast.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/flyout.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/flyout.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/input.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/input.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/tip.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/flyout/tip.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/index.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/layoutViewport.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/layoutViewport.ts +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/viewport.module.css +0 -0
- /package/{packages/chili-ui → chili-ui}/src/viewport/viewport.ts +0 -0
- /package/{packages/chili-vis → chili-vis}/src/index.ts +0 -0
- /package/{packages/chili-vis → chili-vis}/src/nodeSelectionEventHandler.ts +0 -0
- /package/{packages/chili-vis → chili-vis}/src/selectionEventHandler.ts +0 -0
- /package/{packages/chili-vis → chili-vis}/src/shapeSelectionEventHandler.ts +0 -0
- /package/{packages/chili-vis → chili-vis}/src/viewUtils.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/lib/chili-wasm.d.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/lib/chili-wasm.js +0 -0
- /package/{packages/chili-wasm → chili-wasm}/lib/chili-wasm.wasm +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/converter.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/curve.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/factory.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/geometry.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/helper.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/index.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/mesher.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/shape.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/surface.ts +0 -0
- /package/{packages/chili-wasm → chili-wasm}/src/wasm.ts +0 -0
- /package/{packages/chili-web → chili-web}/src/index.ts +0 -0
- /package/{packages/chili-web → chili-web}/src/loading.ts +0 -0
package/cpp/src/shared.hpp
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
// Part of the Chili3d Project, under the AGPL-3.0 License.
|
|
2
|
-
// See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
#pragma once
|
|
5
|
-
|
|
6
|
-
#include <emscripten/bind.h>
|
|
7
|
-
#include <emscripten/val.h>
|
|
8
|
-
|
|
9
|
-
#include <gp_Ax1.hxx>
|
|
10
|
-
#include <gp_Ax2.hxx>
|
|
11
|
-
#include <gp_Ax3.hxx>
|
|
12
|
-
#include <gp_Dir.hxx>
|
|
13
|
-
#include <gp_Pln.hxx>
|
|
14
|
-
#include <gp_Pnt.hxx>
|
|
15
|
-
#include <gp_Vec.hxx>
|
|
16
|
-
|
|
17
|
-
#define STR(x) #x
|
|
18
|
-
#define REGISTER_HANDLE(T) \
|
|
19
|
-
class_<Handle_##T>(STR(Handle_##T)) \
|
|
20
|
-
.constructor<const T*>() \
|
|
21
|
-
.function("get", &Handle_##T::get, allow_raw_pointers()) \
|
|
22
|
-
.function("isNull", &Handle_##T::IsNull)
|
|
23
|
-
|
|
24
|
-
class Math {
|
|
25
|
-
public:
|
|
26
|
-
constexpr static const double PI = 3.14159265358979323846;
|
|
27
|
-
constexpr static const double PI_2 = PI * 2;
|
|
28
|
-
constexpr static const double PI_h = PI / 2;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
struct Domain {
|
|
32
|
-
double start;
|
|
33
|
-
double end;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
struct UV {
|
|
37
|
-
double u;
|
|
38
|
-
double v;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
struct Vector3 {
|
|
42
|
-
double x;
|
|
43
|
-
double y;
|
|
44
|
-
double z;
|
|
45
|
-
|
|
46
|
-
static gp_XYZ toXYZ(const Vector3& p)
|
|
47
|
-
{
|
|
48
|
-
return gp_XYZ(p.x, p.y, p.z);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
static gp_Pnt toPnt(const Vector3& p)
|
|
52
|
-
{
|
|
53
|
-
return gp_Pnt(p.x, p.y, p.z);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
static Vector3 fromPnt(const gp_Pnt& p)
|
|
57
|
-
{
|
|
58
|
-
return Vector3 { p.X(), p.Y(), p.Z() };
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
static gp_Dir toDir(const Vector3& p)
|
|
62
|
-
{
|
|
63
|
-
return gp_Dir(p.x, p.y, p.z);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
static Vector3 fromDir(const gp_Dir& p)
|
|
67
|
-
{
|
|
68
|
-
return Vector3 { p.X(), p.Y(), p.Z() };
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
static gp_Vec toVec(const Vector3& p)
|
|
72
|
-
{
|
|
73
|
-
return gp_Vec(p.x, p.y, p.z);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
static Vector3 fromVec(const gp_Vec& p)
|
|
77
|
-
{
|
|
78
|
-
return Vector3 { p.X(), p.Y(), p.Z() };
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
struct PointAndParameter {
|
|
83
|
-
Vector3 point;
|
|
84
|
-
double parameter;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
struct Ax1 {
|
|
88
|
-
Vector3 location;
|
|
89
|
-
Vector3 direction;
|
|
90
|
-
|
|
91
|
-
static gp_Ax1 toAx1(const Ax1& a)
|
|
92
|
-
{
|
|
93
|
-
return gp_Ax1(Vector3::toPnt(a.location), Vector3::toDir(a.direction));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
static Ax1 fromAx1(const gp_Ax1& a)
|
|
97
|
-
{
|
|
98
|
-
return Ax1 { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Direction()) };
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
struct Ax2 {
|
|
103
|
-
Vector3 location;
|
|
104
|
-
Vector3 direction;
|
|
105
|
-
Vector3 xDirection;
|
|
106
|
-
|
|
107
|
-
static gp_Ax2 toAx2(const Ax2& a)
|
|
108
|
-
{
|
|
109
|
-
return gp_Ax2(Vector3::toPnt(a.location), Vector3::toDir(a.direction), Vector3::toDir(a.xDirection));
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
static Ax2 fromAx2(const gp_Ax2& a)
|
|
113
|
-
{
|
|
114
|
-
return Ax2 { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Direction()), Vector3::fromDir(a.XDirection()) };
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
struct Ax3 {
|
|
119
|
-
Vector3 location;
|
|
120
|
-
Vector3 direction;
|
|
121
|
-
Vector3 xDirection;
|
|
122
|
-
|
|
123
|
-
static gp_Ax2 toAx2(const Ax3& a)
|
|
124
|
-
{
|
|
125
|
-
return gp_Ax2(Vector3::toPnt(a.location), Vector3::toDir(a.direction), Vector3::toDir(a.xDirection));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
static Ax3 fromAx2(const gp_Ax2& a)
|
|
129
|
-
{
|
|
130
|
-
return Ax3 { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Direction()), Vector3::fromDir(a.XDirection()) };
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
static gp_Ax3 toAx3(const Ax3& a)
|
|
134
|
-
{
|
|
135
|
-
return gp_Ax3(Vector3::toPnt(a.location), Vector3::toDir(a.direction), Vector3::toDir(a.xDirection));
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
static Ax3 fromAx3(const gp_Ax3& a)
|
|
139
|
-
{
|
|
140
|
-
return Ax3 { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Direction()), Vector3::fromDir(a.XDirection()) };
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
static gp_Pln toPln(const Ax3& a)
|
|
144
|
-
{
|
|
145
|
-
return gp_Pln(toAx3(a));
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
struct Pln {
|
|
150
|
-
Vector3 location;
|
|
151
|
-
Vector3 direction;
|
|
152
|
-
Vector3 xDirection;
|
|
153
|
-
|
|
154
|
-
static gp_Pln toPln(const Pln& a)
|
|
155
|
-
{
|
|
156
|
-
return gp_Pln(toAx3(a));
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
static gp_Ax3 toAx3(const Pln& a)
|
|
160
|
-
{
|
|
161
|
-
return gp_Ax3(Vector3::toPnt(a.location), Vector3::toDir(a.direction), Vector3::toDir(a.xDirection));
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
static Pln fromAx3(const gp_Ax3& a)
|
|
165
|
-
{
|
|
166
|
-
return Pln { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Direction()), Vector3::fromDir(a.XDirection()) };
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
static Pln fromPln(const gp_Pln& a)
|
|
170
|
-
{
|
|
171
|
-
return Pln { Vector3::fromPnt(a.Location()), Vector3::fromDir(a.Axis().Direction()),
|
|
172
|
-
Vector3::fromDir(a.XAxis().Direction()) };
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
struct ProjectPointResult {
|
|
177
|
-
Vector3 point;
|
|
178
|
-
double distance;
|
|
179
|
-
double parameter;
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
struct ExtremaCCResult {
|
|
183
|
-
bool isParallel;
|
|
184
|
-
double distance;
|
|
185
|
-
Vector3 p1;
|
|
186
|
-
Vector3 p2;
|
|
187
|
-
double u1;
|
|
188
|
-
double u2;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Int8Array)
|
|
192
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Int16Array)
|
|
193
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Int32Array)
|
|
194
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Uint8Array)
|
|
195
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Uint16Array)
|
|
196
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Uint32Array)
|
|
197
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Float32Array)
|
|
198
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Float64Array)
|
|
199
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(BigInt64Array)
|
|
200
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(BigUint64Array)
|
|
201
|
-
|
|
202
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(Vector3Array)
|
|
203
|
-
|
|
204
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(NumberArray)
|
|
205
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(EdgeArray)
|
|
206
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(WireArray)
|
|
207
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(FaceArray)
|
|
208
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(ShellArray)
|
|
209
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(ShapeArray)
|
|
210
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(PointAndParameterArray)
|
|
211
|
-
EMSCRIPTEN_DECLARE_VAL_TYPE(PntArray)
|
package/cpp/src/transient.cpp
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// Part of the Chili3d Project, under the AGPL-3.0 License.
|
|
2
|
-
// See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
#include <emscripten/bind.h>
|
|
5
|
-
#include <emscripten/val.h>
|
|
6
|
-
|
|
7
|
-
#include <Standard_Transient.hxx>
|
|
8
|
-
|
|
9
|
-
using namespace emscripten;
|
|
10
|
-
|
|
11
|
-
class Transient {
|
|
12
|
-
public:
|
|
13
|
-
static bool isKind(const Standard_Transient* t, const std::string& name)
|
|
14
|
-
{
|
|
15
|
-
return t->IsKind(name.c_str());
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
static bool isInstance(const Standard_Transient* t, const std::string& name)
|
|
19
|
-
{
|
|
20
|
-
return t->IsInstance(name.c_str());
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
EMSCRIPTEN_BINDINGS(Transient)
|
|
25
|
-
{
|
|
26
|
-
class_<Transient>("Transient")
|
|
27
|
-
.class_function("isKind", &Transient::isKind, allow_raw_pointers())
|
|
28
|
-
.class_function("isInstance", &Transient::isInstance, allow_raw_pointers());
|
|
29
|
-
}
|
package/cpp/src/utils.cpp
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
// Part of the Chili3d Project, under the AGPL-3.0 License.
|
|
2
|
-
// See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
#include "utils.hpp"
|
|
5
|
-
|
|
6
|
-
#include <BRepBndLib.hxx>
|
|
7
|
-
#include <Bnd_Box.hxx>
|
|
8
|
-
#include <GeomAPI_ExtremaCurveCurve.hxx>
|
|
9
|
-
#include <GeomAPI_ProjectPointOnCurve.hxx>
|
|
10
|
-
|
|
11
|
-
std::vector<ExtremaCCResult> extremaCCs(const Geom_Curve* curve1, const Geom_Curve* curve2, double maxDistance)
|
|
12
|
-
{
|
|
13
|
-
std::vector<ExtremaCCResult> result;
|
|
14
|
-
GeomAPI_ExtremaCurveCurve extrema(curve1, curve2);
|
|
15
|
-
if (extrema.NbExtrema() == 0) {
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
gp_Pnt p1, p2;
|
|
20
|
-
double u1 = 0, u2 = 0;
|
|
21
|
-
for (int i = 1; i <= extrema.NbExtrema(); i++) {
|
|
22
|
-
double distance = extrema.Distance(i);
|
|
23
|
-
if (distance > maxDistance) {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
extrema.Points(i, p1, p2);
|
|
27
|
-
extrema.Parameters(i, u1, u2);
|
|
28
|
-
result.push_back(ExtremaCCResult { .isParallel = extrema.IsParallel(),
|
|
29
|
-
.distance = distance,
|
|
30
|
-
.p1 = Vector3::fromPnt(p1),
|
|
31
|
-
.p2 = Vector3::fromPnt(p2),
|
|
32
|
-
.u1 = u1,
|
|
33
|
-
.u2 = u2 });
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
std::optional<ProjectPointResult> projectToCurve(const Geom_Curve* curve, gp_Pnt pnt)
|
|
40
|
-
{
|
|
41
|
-
GeomAPI_ProjectPointOnCurve projector(pnt, curve);
|
|
42
|
-
if (projector.NbPoints() > 0) {
|
|
43
|
-
return ProjectPointResult { .point = Vector3::fromPnt(projector.NearestPoint()),
|
|
44
|
-
.distance = projector.LowerDistance(),
|
|
45
|
-
.parameter = projector.LowerDistanceParameter() };
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return std::nullopt;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
ProjectPointResult nearestEnd(const Geom_Curve* curve, gp_Pnt pnt)
|
|
52
|
-
{
|
|
53
|
-
gp_Pnt start = curve->Value(curve->FirstParameter());
|
|
54
|
-
gp_Pnt end = curve->Value(curve->LastParameter());
|
|
55
|
-
double distanceToStart = pnt.Distance(start);
|
|
56
|
-
double distanceToEnd = pnt.Distance(end);
|
|
57
|
-
if (distanceToStart < distanceToEnd) {
|
|
58
|
-
return ProjectPointResult {
|
|
59
|
-
.point = Vector3::fromPnt(start), .distance = distanceToStart, .parameter = curve->FirstParameter()
|
|
60
|
-
};
|
|
61
|
-
} else {
|
|
62
|
-
return ProjectPointResult {
|
|
63
|
-
.point = Vector3::fromPnt(end), .distance = distanceToEnd, .parameter = curve->LastParameter()
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
ProjectPointResult projectOrNearestCP(const Geom_Curve* curve, const gp_Pnt& pnt)
|
|
69
|
-
{
|
|
70
|
-
auto project = projectToCurve(curve, pnt);
|
|
71
|
-
if (project.has_value()) {
|
|
72
|
-
return project.value();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return nearestEnd(curve, pnt);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
double boundingBoxRatio(const TopoDS_Shape& shape, double linearDeflection)
|
|
79
|
-
{
|
|
80
|
-
Bnd_Box boundingBox;
|
|
81
|
-
BRepBndLib::Add(shape, boundingBox, false);
|
|
82
|
-
if (boundingBox.IsVoid()) {
|
|
83
|
-
return linearDeflection;
|
|
84
|
-
}
|
|
85
|
-
Standard_Real xMin, yMin, zMin, xMax, yMax, zMax;
|
|
86
|
-
boundingBox.Get(xMin, yMin, zMin, xMax, yMax, zMax);
|
|
87
|
-
|
|
88
|
-
Standard_Real avgSize = ((xMax - xMin) + (yMax - yMin) + (zMax - zMin)) / 3.0;
|
|
89
|
-
double linDeflection = avgSize * linearDeflection;
|
|
90
|
-
if (linDeflection < Precision::Confusion()) {
|
|
91
|
-
linDeflection = 1.0;
|
|
92
|
-
}
|
|
93
|
-
return linDeflection;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
TopTools_SequenceOfShape shapeArrayToSequenceOfShape(const ShapeArray& shapes)
|
|
97
|
-
{
|
|
98
|
-
std::vector<TopoDS_Shape> shapeVector = emscripten::vecFromJSArray<TopoDS_Shape>(shapes);
|
|
99
|
-
TopTools_SequenceOfShape result;
|
|
100
|
-
for (auto& s : shapeVector) {
|
|
101
|
-
result.Append(s);
|
|
102
|
-
}
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
TopTools_ListOfShape shapeArrayToListOfShape(const ShapeArray& shapes)
|
|
107
|
-
{
|
|
108
|
-
std::vector<TopoDS_Shape> shapeVector = emscripten::vecFromJSArray<TopoDS_Shape>(shapes);
|
|
109
|
-
TopTools_ListOfShape result;
|
|
110
|
-
for (auto& s : shapeVector) {
|
|
111
|
-
result.Append(s);
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
package/cpp/src/utils.hpp
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// Part of the Chili3d Project, under the AGPL-3.0 License.
|
|
2
|
-
// See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
#pragma once
|
|
5
|
-
|
|
6
|
-
#include <Geom_Curve.hxx>
|
|
7
|
-
#include <TopTools_ListOfShape.hxx>
|
|
8
|
-
#include <TopTools_SequenceOfShape.hxx>
|
|
9
|
-
#include <TopoDS_Shape.hxx>
|
|
10
|
-
#include <gp_Pnt.hxx>
|
|
11
|
-
|
|
12
|
-
#include "shared.hpp"
|
|
13
|
-
|
|
14
|
-
std::vector<ExtremaCCResult> extremaCCs(const Geom_Curve* curve1, const Geom_Curve* curve2, double maxDistance);
|
|
15
|
-
|
|
16
|
-
std::optional<ProjectPointResult> projectToCurve(const Geom_Curve* curve, gp_Pnt pnt);
|
|
17
|
-
|
|
18
|
-
ProjectPointResult nearestEnd(const Geom_Curve* curve, gp_Pnt pnt);
|
|
19
|
-
|
|
20
|
-
ProjectPointResult projectOrNearestCP(const Geom_Curve* curve, const gp_Pnt& pnt);
|
|
21
|
-
|
|
22
|
-
TopTools_SequenceOfShape shapeArrayToSequenceOfShape(const ShapeArray& shapes);
|
|
23
|
-
TopTools_ListOfShape shapeArrayToListOfShape(const ShapeArray& shapes);
|
|
24
|
-
|
|
25
|
-
double boundingBoxRatio(const TopoDS_Shape& shape, double linearDeflection);
|
package/cpp/test/index.html
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
-
<title>chili wasm test</title>
|
|
8
|
-
<style type="text/css">
|
|
9
|
-
body {
|
|
10
|
-
font-family: Arial, sans-serif;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
#output {
|
|
14
|
-
margin: 20px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
h2 {
|
|
18
|
-
margin-top: 20px;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
p {
|
|
22
|
-
margin: 0;
|
|
23
|
-
margin-left: 20px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.failed {
|
|
27
|
-
color: red;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.result {
|
|
31
|
-
margin-top: 10px;
|
|
32
|
-
font-weight: bold;
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
35
|
-
|
|
36
|
-
</head>
|
|
37
|
-
|
|
38
|
-
<body>
|
|
39
|
-
<div id="output"></div>
|
|
40
|
-
<script type="text/javascript">
|
|
41
|
-
function resultMessage(passed, failed, time) {
|
|
42
|
-
const p = document.createElement('p');
|
|
43
|
-
p.className = 'result';
|
|
44
|
-
p.innerHTML = `Passed: ${passed}, Failed: ${failed}, Time: ${time}`;
|
|
45
|
-
if (failed > 0) {
|
|
46
|
-
p.className += ' failed';
|
|
47
|
-
}
|
|
48
|
-
return p;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function failedMessage(actual, expected) {
|
|
52
|
-
const p = document.createElement('p');
|
|
53
|
-
p.innerHTML = `Expected ${expected}, but got ${actual}`;
|
|
54
|
-
p.className = 'failed';
|
|
55
|
-
return p;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
async function test(name, fn) {
|
|
59
|
-
var passed = 0, failed = 0;
|
|
60
|
-
const expect = (actual) => {
|
|
61
|
-
return {
|
|
62
|
-
toBe(expected) {
|
|
63
|
-
if (actual !== expected) {
|
|
64
|
-
div.append(failedMessage(actual, expected));
|
|
65
|
-
failed++;
|
|
66
|
-
} else {
|
|
67
|
-
passed++;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
const div = document.createElement('div');
|
|
74
|
-
div.className = 'test';
|
|
75
|
-
output.append(div);
|
|
76
|
-
const title = document.createElement('h2');
|
|
77
|
-
div.innerHTML = name
|
|
78
|
-
output.append(title);
|
|
79
|
-
const start = performance.now();
|
|
80
|
-
fn(expect);
|
|
81
|
-
const end = performance.now();
|
|
82
|
-
div.append(resultMessage(passed, failed, end - start));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
</script>
|
|
86
|
-
<script type="module">
|
|
87
|
-
window.onload = async () => {
|
|
88
|
-
const initWasm = await import('../build/target/release/chili-wasm.js');
|
|
89
|
-
const wasm = await initWasm.default();
|
|
90
|
-
test("test face mesh", (expect) => {
|
|
91
|
-
const location = { x: 0, y: 0, z: 0 };
|
|
92
|
-
const direction = { x: 0, y: 0, z: 1 };
|
|
93
|
-
const xDirection = { x: 1, y: 0, z: 0 };
|
|
94
|
-
const ax3 = { location, direction, xDirection };
|
|
95
|
-
const box = wasm.ShapeFactory.box(ax3, 1, 2, 3).shape;
|
|
96
|
-
const mesher = new wasm.Mesher(box, 0.1);
|
|
97
|
-
const mesh = mesher.mesh();
|
|
98
|
-
|
|
99
|
-
expect(mesh.faceMeshData.position.length).toBe(72);
|
|
100
|
-
expect(mesh.faceMeshData.index.length).toBe(36);
|
|
101
|
-
expect(mesh.faceMeshData.group.length).toBe(12);
|
|
102
|
-
expect(mesh.faceMeshData.normal.length).toBe(72);
|
|
103
|
-
expect(mesh.faceMeshData.uv.length).toBe(48);
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
test("test edge mesh", (expect) => {
|
|
107
|
-
const location = { x: 0, y: 0, z: 0 };
|
|
108
|
-
const direction = { x: 0, y: 0, z: 1 };
|
|
109
|
-
const xDirection = { x: 1, y: 0, z: 0 };
|
|
110
|
-
const ax3 = { location, direction, xDirection };
|
|
111
|
-
const box = wasm.ShapeFactory.box(ax3, 1, 1, 1).shape;
|
|
112
|
-
const mesher = new wasm.Mesher(box, 0.1);
|
|
113
|
-
const mesh = mesher.mesh();
|
|
114
|
-
expect(mesh.edgeMeshData.position.length).toBe(72);
|
|
115
|
-
expect(mesh.edgeMeshData.group.length).toBe(24);
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
test("test shape", (expect) => {
|
|
119
|
-
const location = { x: 0, y: 0, z: 0 };
|
|
120
|
-
const direction = { x: 0, y: 0, z: 1 };
|
|
121
|
-
const xDirection = { x: 1, y: 0, z: 0 };
|
|
122
|
-
const ax3 = { location, direction, xDirection };
|
|
123
|
-
const box = wasm.ShapeFactory.box(ax3, 1, 1, 1).shape;
|
|
124
|
-
const edges = wasm.Shape.findSubShapes(box, wasm.TopAbs_ShapeEnum.TopAbs_EDGE);
|
|
125
|
-
expect(edges.length).toBe(12);
|
|
126
|
-
expect(edges[0].shapeType()).toBe(wasm.TopAbs_ShapeEnum.TopAbs_EDGE);
|
|
127
|
-
|
|
128
|
-
const curve = wasm.Edge.curve(wasm.TopoDS.edge(edges[0]));
|
|
129
|
-
const newEdge = wasm.Edge.fromCurve(curve.get());
|
|
130
|
-
expect(wasm.Edge.curveLength(newEdge)).toBe(1);
|
|
131
|
-
|
|
132
|
-
const faces = wasm.Shape.findAncestor(box, edges[1], wasm.TopAbs_ShapeEnum.TopAbs_FACE);
|
|
133
|
-
expect(faces.length).toBe(2);
|
|
134
|
-
expect(faces[0].shapeType()).toBe(wasm.TopAbs_ShapeEnum.TopAbs_FACE)
|
|
135
|
-
|
|
136
|
-
const faceEdges = wasm.Shape.findSubShapes(faces[0], wasm.TopAbs_ShapeEnum.TopAbs_EDGE);
|
|
137
|
-
expect(faceEdges.length).toBe(4);
|
|
138
|
-
|
|
139
|
-
})
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
</script>
|
|
143
|
-
|
|
144
|
-
</body>
|
|
145
|
-
|
|
146
|
-
</html>
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// Part of the Chili3d Project, under the AGPL-3.0 License.
|
|
2
|
-
// See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { type IConverter, XYZ } from "chili-core";
|
|
5
|
-
import { ColorConverter } from "../src/converters/colorConverter";
|
|
6
|
-
import { NumberConverter } from "../src/converters/numberConverter";
|
|
7
|
-
import { StringConverter } from "../src/converters/stringConverter";
|
|
8
|
-
import { XYZConverter } from "../src/converters/xyzConverter";
|
|
9
|
-
|
|
10
|
-
describe("converter test", () => {
|
|
11
|
-
test("test type", () => {
|
|
12
|
-
const converters = [new XYZConverter(), new NumberConverter()];
|
|
13
|
-
expect(converters.every((x) => (x as IConverter).convert !== undefined)).toBeTruthy();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test("test XYZConverter", () => {
|
|
17
|
-
const converter = new XYZConverter();
|
|
18
|
-
const xyz = XYZ.unitX;
|
|
19
|
-
const c = converter.convert(xyz);
|
|
20
|
-
expect(c.value).toStrictEqual("1,0,0");
|
|
21
|
-
expect(converter.convertBack(c.value).value.x).toBe(1);
|
|
22
|
-
expect(converter.convertBack("1").isOk).toBe(false);
|
|
23
|
-
expect(converter.convertBack("1, 1, 1, 1").isOk).toBe(false);
|
|
24
|
-
expect(converter.convertBack("1, 1, 1").value).toStrictEqual(new XYZ(1, 1, 1));
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test("test NumberConverter", () => {
|
|
28
|
-
const converter = new NumberConverter();
|
|
29
|
-
expect(converter.convert(Number.NaN).isOk).toBe(false);
|
|
30
|
-
expect(converter.convert(-20).value).toBe("-20");
|
|
31
|
-
expect(converter.convert(20).value).toBe("20");
|
|
32
|
-
expect(converter.convert(1e3).value).toBe("1000");
|
|
33
|
-
expect(converter.convertBack("NaN").isOk).toBeFalsy();
|
|
34
|
-
expect(converter.convertBack("1a").isOk).toBeFalsy();
|
|
35
|
-
expect(converter.convertBack("1E-3").value).toBe(0.001);
|
|
36
|
-
expect(converter.convertBack("-3").value).toBe(-3);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
test("test StringConverter", () => {
|
|
40
|
-
const converter = new StringConverter();
|
|
41
|
-
expect(converter.convert("").value).toBe("");
|
|
42
|
-
expect(converter.convertBack("").value).toBe("");
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test("test ColorConverter", () => {
|
|
46
|
-
const converter = new ColorConverter();
|
|
47
|
-
|
|
48
|
-
// Test normal number conversion
|
|
49
|
-
expect(converter.convert(0xff0000).value).toBe("#ff0000");
|
|
50
|
-
expect(converter.convert(255).value).toBe("#0000ff");
|
|
51
|
-
expect(converter.convert(0).value).toBe("#000000");
|
|
52
|
-
|
|
53
|
-
// Test string conversion
|
|
54
|
-
expect(converter.convert("#ff0000").value).toBe("#ff0000");
|
|
55
|
-
expect(converter.convert("ff0000").value).toBe("#ff0000");
|
|
56
|
-
expect(converter.convert("#FF0000").value).toBe("#FF0000");
|
|
57
|
-
|
|
58
|
-
// Test undefined and null handling (NEW)
|
|
59
|
-
expect(converter.convert(undefined as any).value).toBe("#808080");
|
|
60
|
-
expect(converter.convert(null as any).value).toBe("#808080");
|
|
61
|
-
expect(converter.convert("" as any).value).toBe("#808080");
|
|
62
|
-
expect(converter.convert("invalid" as any).value).toBe("#808080");
|
|
63
|
-
expect(converter.convert(NaN as any).value).toBe("#808080");
|
|
64
|
-
|
|
65
|
-
// Test convertBack
|
|
66
|
-
expect(converter.convertBack("#ff0000").value).toBe(0xff0000);
|
|
67
|
-
expect(converter.convertBack("ff0000").value).toBe(0xff0000);
|
|
68
|
-
expect(converter.convertBack("invalid").isOk).toBe(false);
|
|
69
|
-
});
|
|
70
|
-
});
|