Commit Graph
282 Commits
Author SHA1 Message Date
Emmett Lalish a9dc1550ba new JS Mesh class (#272)
* new JS Mesh class

* fix Mesh

* switch MeshGL to vectors

* new Mesh constructor

* export Mesh and updated types

* got scallop working again

* optional normals

* fixed Mesh constructor

* added halfedgeTangent

* cleanup
2022-11-10 23:24:46 +01:00
Emmett Lalish fd8c381179 Fix spelling (#270)
* fixed spelling

* forgot one

* JS code formatting

* updated CMakeLists for easier testing

* revert small change
2022-11-08 10:40:15 +01:00
Emmett LalishandStewart Allen af9377d6e7 Add GetMeshGL (#269)
* figure out wasm shared memory access, manifold data structure storage

* checkpoint multi-mode mesh direct access

* clean this up for a PR

* use size_t instead of int. fix pointer math for free() call. tab indent 2 spaces in js to match other code

* apply clang formatting. default to mode 1 (faster)

* eliminate new getMeshDirect() api call and fold it into getMesh() as an optional parameter object
eliminate _FreeMeshDirect and use Module._free() instead

* added optional ability to get normals array
restore access to mode 0 largely for testing

* remove mode options, simplify code

* this is quite a bit neater. fixes shorter header length

* attempt to do this the right way

* meshGL working

* revert JS API update

* added docs

Co-authored-by: Stewart Allen <stewart.allen@gmail.com>
2022-11-05 17:04:38 +01:00
pca006132 add3a04fae fixed csg_tree bugs (#226)
1. Due to the shared cache between op nodes, the children list can have
   only 1 child and the original code will access a dangling pointer.
2. Users may supply empty/singleton lists to BatchBoolean, which
   CsgOpNode cannot handle the empty case correctly.

The new test is for bug 1.
2022-10-04 07:53:41 -07:00
Emmett Lalish 692dc69092 Doxygen updates (#200)
* added paper

* reorganized doxygen

* added debug module

* rename structs.h to public.h

* cleanup
2022-09-10 15:22:20 -07:00
Emmett Lalish 2835e15a0e remove assimp submodule (#194)
* remove assimp submodule

* optionally compile meshIO

* fix nix
2022-09-06 09:31:20 -07:00
Emmett Lalish 405dd6373a Make MeshIO optional for tests (#189)
* replaced file-based testing

* conditionally link meshIO in tests

* fix wasm build
2022-09-04 11:52:05 -07:00
Emmett Lalish 11e58ea4d2 Adding SDF LevelSet (#187)
* polymorphic device functions working

* starting to flesh out algorithm

* getting closer

* fleshed out vert computation

* more progress

* BuildTris

* fixed some syntax

* updating to cpp

* added VecDc

* SDF compiles

* SDF runs

* fixed some bugs

* manifold output

* fixed out of memory bug

* flattened sides

* back to egg-crate

* works with CUDA too

* moved SDF

* Revert "moved SDF"

This reverts commit ba2348f38ed752d49eebdf14a73b5e1fd7a4827b.

* added gyroid sample

* added sdf_test

* added SDF tests

* tests pass

* updated gyroid_module

* fixed gyroid module

* added docs

* addressing feedback

* fix cuda detection

* clean up detect cuda

* fixed CUDA failure

* consistent execution policy in Boolean

* remove SDF wrapper class

* simplified tet logic

* use NeighborInside()

* optimized SDF

* moved RemoveUnreferencedVerts

* put printf statements behind MANIFOLD_DEBUG

* enable hashtable resize

* added test for hashtable resizing
2022-09-01 09:04:51 -07:00
pca006132 08598c045a re-enabled reordering (#171)
* re-enabled reordering

* fix test failures
2022-08-13 22:28:16 -07:00
Emmett Lalish 747dcd94bc Changed MeshRelation API (#184)
* cause repro

* added originalID to BaryRef

* make coverage check informational

* unique meshIDs for compose

* make AsOriginal decimate

* remove vscode properties from git

* update docs

* remove vertNormal handling

* Revert "remove vertNormal handling"

This reverts commit c92d590e4d23795504db9afb62eb45adb43d5308.

* alternative fix
2022-08-13 17:20:43 -07:00
Emmett Lalish 591b9e648d added east and west skipping to the triangulator (#182)
added east and west skipping
2022-08-07 21:48:04 -07:00
Emmett Lalish ae19d081f4 fixed triangulation bug (#180) 2022-08-07 12:07:09 -07:00
Emmett Lalish a08a9e7e51 Fixed duplicate edge handling (#179)
* better manifold checks

* fixed duplicate edge handling
2022-08-06 09:26:42 -07:00
Emmett Lalish e307662691 fix NAN test 2022-08-02 12:07:41 -07:00
Emmett Lalish 6fd20df42e added properties tests 2022-08-02 11:29:35 -07:00
Emmett Lalish b0a821efc0 added invalid input tests 2022-08-02 10:36:48 -07:00
Emmett Lalish 3003160b9e starting an error status API 2022-07-30 13:16:11 -07:00
Emmett Lalish 5cd70ff695 tweak test precision 2022-07-30 10:25:04 -07:00
Emmett Lalish ce5d305491 string include 2022-07-30 10:13:32 -07:00
Emmett Lalish 449916bf70 pull assert macro out of public API 2022-07-28 12:28:25 -07:00
Emmett Lalish bdd9214aea forgot include 2022-07-28 11:54:03 -07:00
Emmett Lalish d7ecdd5fab exceptions optional 2022-07-28 11:00:13 -07:00
Emmett Lalish e441e2e80b tighten Close test 2022-07-26 10:37:18 -07:00
Emmett Lalish b51b0cb0af fixed seg fault 2022-07-26 10:19:05 -07:00
Emmett Lalish 70e911e2f2 add OVERLAP_ASSERT 2022-07-21 12:13:55 -07:00
Emmett Lalish 4add644d76 merging master 2022-07-20 14:54:45 -07:00
Emmett Lalish 5b182a243c fix build 2022-07-19 21:17:09 -07:00
Emmett Lalish 92bb83c9fd fixed some CMake stuff 2022-07-18 22:25:59 -07:00
Emmett Lalish 3b39bf2377 new directory structure 2022-07-18 22:01:03 -07:00
Emmett Lalish a6f714b2e6 fixed degenerate polygon triangulation and added tests 2022-07-17 11:38:25 -07:00
Emmett Lalish 15467456c8 merging master 2022-07-16 09:42:02 -07:00
Emmett Lalish bee3d08310 fixed bug, found others 2022-07-15 21:44:25 -07:00
Emmett Lalish 3a17c94262 Merge branch 'master' of github.com:elalish/manifold into copyright 2022-07-15 21:30:03 -07:00
pca006132 4e98c1adf5 added new precision test 2022-07-14 14:13:19 +08:00
Emmett Lalish c40adb1eff missed a few 2022-07-06 12:46:13 -07:00
Emmett Lalish 738d0fa050 switch copyright to authors 2022-07-06 12:42:00 -07:00
Emmett Lalish 08a59fdca0 added test 2022-07-05 09:55:20 -07:00
pca006132 fa5e1fe5db build script update
Simplified build script by exposing compiler options as public in
utilities, so we don't have to repeat them in collider/manifold.
Use file glob instead of adding source files one by one, so we don't
have to change the cmake script to add more source files later.
2022-06-18 16:17:13 +08:00
pca006132 819739825b cleanup 2022-06-12 21:07:45 +08:00
pca006132 c07f2b44a5 Merge remote-tracking branch 'upstream/master' into lazy-boolean 2022-06-06 07:30:18 +08:00
Emmett Lalish 1da7f6a75b added another test 2022-06-05 12:36:34 -07:00
Emmett Lalish b7a5d532e2 Added DedupeEdge 2022-06-05 12:20:25 -07:00
Emmett Lalish b567441192 merging master 2022-06-05 09:26:29 -07:00
pca006132 5bf95d6402 renamed SetAsOriginal to AsOriginal 2022-06-05 22:25:34 +08:00
pca006132 9c55fb932e test updates 2022-06-05 22:05:18 +08:00
pca006132 97b0b9f7d0 applied clang-format 2022-06-04 23:25:50 +08:00
pca006132 0292ed5c32 Merge remote-tracking branch 'upstream/master' into pybind11 2022-06-03 15:35:09 +08:00
Emmett Lalish 25c45cf99e Merge branch 'master' of github.com:elalish/manifold into infiniteLoop 2022-06-01 22:28:02 -07:00
Emmett Lalish 6f89c5974c updated cylinder test 2022-06-01 22:26:33 -07:00
pca006132 452cca961a relaxed NumDegenerateTris for Boolean.Gyroid 2022-06-02 12:15:40 +08:00