Emmett Lalish
e727b115c0
Change curvature API ( #448 )
...
* new curvature API compiles
* tests pass
* update JS example and fix bindings
2023-06-09 22:36:15 -07:00
Geoff deRosenroll
e1ebc66425
(C) Only link MeshIO when MANIFOLD_EXPORT is on ( #436 )
...
Only link MeshIO in C bindings when `MANIFOLD_EXPORT` is defined. MeshIO related code has been better consolidated to limit the number of `#ifdef` blocks required.
2023-05-21 00:14:36 -07:00
Geoff deRosenroll
cdce9e7618
Improve handling of invalid shape construction. ( #385 )
...
Add `InvalidConstruction` to `Manifold::Error` and return empty manifolds with it set when manifold construction is attempted with invalid parameters
- zero / negative dimensions for Cube
- zero / negative radius for Sphere
- zero / negative height for Extrude
- empty CrossSection for Extrude/Revolve
Also, Circle and Square have been updated to return empty CrossSections for similar arguments.
2023-03-22 21:39:26 -07:00
Geoff deRosenroll
2a63971983
Add missing C bindings + revamp composition with opaque vectors ( #382 )
...
- Add bindings to `CrossSection::{Compose,Decompose,NumVert,NumContour,Warp}`
- Add bindings to `Boolean` and `BatchBoolean` for both `Manifold` and `CrossSection`
- Add `ManifoldManifoldVec` and `ManifoldCrossSectionVec` opaque types for `std::vector` pointers to help clean up bindings involving vectors (particularly when they are returned with dynamic size, *e.g.* `manifold_decompose`
- Remove two-step Components workaround previously introduced to allow return of C array from `manifold_decompose`
2023-03-19 22:19:19 -07:00
Geoff deRosenroll
bd8da6ce1e
Add CrossSection and Rect to C bindings ( #353 )
...
* + CrossSection and Rect type interfaces and method functions
* `manifold_extrude` and `manifold_revolve` take `ManifoldCrossSection*`
* fix manifoldc extrude test (`ManifoldCrossSection*` argument)
2023-03-07 12:30:28 -08:00
Emmett Lalish
e6bb87b2bb
change enum case ( #325 )
...
* change enum case
* fix C enums
* more fixes
* another fix
2023-02-16 13:32:28 -08:00
Emmett Lalish
4415cfce46
Transform relations ( #315 )
...
* added transforms output
* removed meshids
* read MeshGL runs, IDs, and transforms
* cleanup
* replaced lambdas
* refactor reserveIDs
* refactored reference initialization
* added round-trip test
* added multi-material round trip test
* added faceID round trip test
* back to const inputs
* added missing error types
* shorten CI timeouts
* update docs
2023-02-07 09:50:43 -08:00
Geoff deRosenroll
bbb1fabcac
Remove Mesh from interface + memcpy depuplication ( #313 )
2023-01-29 08:34:56 -08:00
Emmett Lalish and Geoff deRosenroll
f43dded234
Multi-material example ( #309 )
...
* removed BufferGeometryUtils
* replaced three.js with gltf-transform
* textured sphere working
* added cubeUV
* added textures
* added relation and sorting to MeshGL
* working textures example!
* added faceID
* removed MeshRelation
* some more removal
* fix output for no properties
* test cleanup
* Add new MeshGL accessors (replacing MeshRelation) (#311 )
+ new meshgl accessors + remove mesh_relation_size
* removed meshID from public API
* added input checking for MeshGL
* remove C api
---------
Co-authored-by: Geoff deRosenroll <geoffderosenroll@gmail.com >
2023-01-28 13:02:37 -08:00
Geoff deRosenroll
a7b457db74
C bindings to facilitate static FFI bindings ( #292 )
...
* + c bindings to facilitate static FFI bindings
Squashed commit of the following:
commit a05f9b0e0ab079b95c29b4641ae928f02be219f4
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Dec 10 16:21:47 2022 -0800
Add flag (default on) for python bindings
Signed-off-by: Geoff deRosenroll <geoffderosenroll@gmail.com >
commit ce5b601fc7578fa43edbf7363a7b625d1d27a1de
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Dec 9 23:45:29 2022 -0800
conv function naming consistency
commit 1b50cf077dada8c3bc13d77bfa1c8f0a406c047d
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Tue Dec 6 17:42:18 2022 -0800
manifold_level_set_seq to C API (force sequential)
commit 77e06daf92e7014ce153a336ed685b9370e965c0
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Tue Dec 6 17:24:10 2022 -0800
Use an optional executionpolicy param in LevelSet
This allows bindings to avoid breaking their runtime locks while passing
in function pointers without introducing another compile flag.
commit 12c62b1e33cdacd07f056859fa2038dfd1f62170
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Dec 5 15:09:41 2022 -0800
Better section comments
commit 24f1d5107e24f41d3860fe6dea4832a523989eb9
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Dec 2 12:01:50 2022 -0800
Add missing management functions for Components
commit a7d5aae8550c4ace458e78314eab04a3cf5f2053
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Thu Dec 1 23:45:45 2022 -0800
Break Decompose up to avoid repetition in C binds
commit a650a1531dc52610db8e6009e82e247d7f256d3e
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sun Nov 27 22:41:38 2022 -0800
Add manifold_get_properties
commit 97a58396cd8e6c5fad698f1280d02d78e0b51ded
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 26 22:53:42 2022 -0800
circular segment functions corrected to static
commit c9c1ca7ec599b5f14401c85efde19481d86226f8
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Thu Nov 24 21:19:11 2022 -0800
polygons from dbl ptr of SimplePolygon
commit 8e5390aa729817d0cc652f92a64e6850e4e16e9b
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Wed Nov 23 12:16:44 2022 -0800
compose and decompose switched to double ptrs
commit 45c78c3e1aa0eaab8622c77b69221226af06861c
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Tue Nov 22 11:40:32 2022 -0800
Add manifold copy and empty constructors
commit cfc06fe55cd4a508005385bcdb4037ed89695f80
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 21 15:03:00 2022 -0800
Add MANIFOLD_SEQ_SDF to avoid runtime lock
commit e0f9d09e5ced6fcb2b83722542e99b20d0799e25
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sun Nov 20 16:56:50 2022 -0800
Add missing export related contructors.
commit 0cbaa4a6090c402f2a2483c35f5b3b7e82d8cf52
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sun Nov 20 16:03:43 2022 -0800
Add separate destruct functions
commit fd6c1c250e6b91114b0203b40a941fa73e3473ec
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 17:29:12 2022 -0800
More consistent array handling
commit ec1eef84153b13bba0b5ae78a42084b634a9d9b1
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 16:52:07 2022 -0800
Replace array args with pointers
commit 9079cbf7bb788e1b8eb992cbe1e3e51dfc36f1ce
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 15:00:47 2022 -0800
Revert "Switch back to funptr struct args for simplicity"
This reverts commit dc78841af654bf81c41e74795bac0f724af59dd0.
commit 62c1078fe9b10c88df86da0a5275f47581dad275
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 14:52:37 2022 -0800
Switch back to funptr struct args for simplicity
commit d30992db9a4224235246531a5ddf1a034e8e0c1a
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 14:06:12 2022 -0800
Avoid needing to pass in vec struct for funptrs
commit 2ba7bec1653a655c68bba3d2961fd280bc8e8f32
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Sat Nov 19 00:32:09 2022 -0800
Use template spec to avoid fun ptr to cuda
commit 1faf58b3887747af8659eb1be660e2fc40ff17f9
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 21:54:56 2022 -0800
Make fPIC more conditional.
commit 6215f89447f63753ca0dd2f2fcee88c7aaf5e548
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 21:35:09 2022 -0800
Avoid passing dynamic lambda to GPU
commit 30fa3dc323df8962e3802a58f346b813a8a759f5
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 18:02:04 2022 -0800
note and temporary hack RE cuda compilation
commit bb4dfe93cb8e0e7b582450f6d0c0d8d5ba5cef9a
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 17:21:25 2022 -0800
Set graphlite library to OBJECT
commit e803da50b983c931c69e42fe3fea30aff534034b
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 16:04:28 2022 -0800
Convert sublibraries to OBJECT to avoid archives
commit d0e9d176e79f18c645e538a5df19263d11630fcd
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Fri Nov 18 15:28:15 2022 -0800
Add missing polygon size and deletion funcs
commit 7db72848b9012d9f1a69b28ad878fb65f4524fc3
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Tue Nov 15 22:26:17 2022 -0800
Remove static flag (control with shared flag)
commit 5ae33f34716998e3d8b3368c619b81f145e34cfe
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Tue Nov 15 22:16:27 2022 -0800
Add options to avoid python bindings
commit 4181a586288db47acbd55f8e94e94ec4a7fcd252
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 14 22:02:10 2022 -0800
Rename to manifoldc
commit c4b14d64655ca2fb3ce8ac80af7390b959fed3c7
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 14 21:51:45 2022 -0800
Cleanup unused typedefs and simplify names
commit a282c90f1f62141ee5c2cd9303ccc8649f2a6bb3
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 14 21:23:07 2022 -0800
Placeholder (terrible) decompose binding
commit 9409e81abb2c3ba3ffb0983aa0c14e261d032cc2
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 14 20:37:02 2022 -0800
Turn on export in CLI instead
commit 9dad24b787af0420ef32719c86fb42e11af9a8c1
Author: Geoff deRosenroll <geoffderosenroll@gmail.com >
Date: Mon Nov 14 20:33:17 2022 -0800
"Rebased" WIP cbindings
* Turn on -fPIC whenever shared libs are being built
* Add parens to disambiguate sdf policy logic
* Bump public std from 14 to 17
* Add binding flags to workflow builds
* Add export when building cbindings
* Bump ubuntu version (PBR material deprecation)
* Select no-param overload of Decompose
* Add missing const to decompose sig overload
* Re-organize
* variable capitalization consistency
* Drop to std14 to test for regression fix
* Attempted old libassimp compatibility hack
* Rebump to std_17
* Temporarily disabled
TODO: investigate why this is failing on Mac, but not other backends.
* Remove unused tuple include
* Remove uneccesary auto-includes
* Properly disable Boolean_Close
* rename discrete -> numComponents + early return
* Rename discrete -> numComponents
* Rename conv.hh -> conv.h
* Prune auto-includes
* Note on level_set vs level_set_seq
* Set export on for c-bindings
* Adding C binding tests.
* Separate and don't require CBIND build/test
* Remove bad flag
* Take const char ptr for filename
* Remove testc executable
* Add tests from removed testc
2022-12-18 21:59:36 +01:00