diff --git a/README.md b/README.md index ef7f78058..b9b5fc873 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ [![codecov](https://codecov.io/github/elalish/manifold/branch/master/graph/badge.svg?token=IIA8G5HVS7)](https://codecov.io/github/elalish/manifold) +[![PyPI version](https://badge.fury.io/py/manifold3d.svg)](https://badge.fury.io/py/manifold3d) +[![npm version](https://badge.fury.io/js/manifold-3d.svg)](https://badge.fury.io/js/manifold-3d) [![twitter](https://img.shields.io/twitter/follow/manifoldcad?style=social&logo=twitter)](https://twitter.com/intent/follow?screen_name=manifoldcad) ## Users [OpenSCAD](https://openscad.org/), [IFCjs](https://ifcjs.github.io/info/), [Grid.Space](https://grid.space/), and [OCADml](https://github.com/OCADml/OManifold) have all integrated our Manifold geometry kernel! Why? Because its reliability is guaranteed and it's 1,000 times faster than other libraries. See our [usage](https://github.com/elalish/manifold/discussions/340) and [performance](https://github.com/elalish/manifold/discussions/383) discussions for all the latest and to add your own projects & analyses. -For example, here is a log-log plot of Manifold's performance vs. earlier OpenSCAD geometry backends: - - - ## [ManifoldCAD.org](https://manifoldcad.org) If you like OpenSCAD / JSCAD, you might also like ManifoldCAD - our own solid modelling web app. Our WASM is not multithreaded yet, but it's still quite fast and a good way to test out our Manifold library. @@ -29,7 +27,7 @@ of this repository may solve the problem. [Manifold](https://github.com/elalish/manifold) is a geometry library dedicated to creating and operating on manifold triangle meshes. A [manifold mesh](https://github.com/elalish/manifold/wiki/Manifold-Library#manifoldness) is a mesh that represents a solid object, and so is very important in manufacturing, CAD, structural analysis, etc. Further information can be found on the [wiki](https://github.com/elalish/manifold/wiki/Manifold-Library). -This is a modern C++ library that Github's CI verifies builds and runs on a variety of platforms. Additionally, we build bindings for JavaScript ([manifold-3d](https://www.npmjs.com/package/manifold-3d) on npm), Python, and C to make this library more portable and easy to use. +This is a modern C++ library that Github's CI verifies builds and runs on a variety of platforms. Additionally, we build bindings for JavaScript ([manifold-3d](https://www.npmjs.com/package/manifold-3d) on npm), Python ([manifold3d](https://pypi.org/project/manifold3d/)), and C to make this library more portable and easy to use. System Dependencies (note that we will automatically download the dependency if there is no such package on the system): - [`GLM`](https://github.com/g-truc/glm/): A compact header-only vector library. diff --git a/bindings/wasm/package.json b/bindings/wasm/package.json index 800cec83c..8de5520f1 100644 --- a/bindings/wasm/package.json +++ b/bindings/wasm/package.json @@ -1,6 +1,6 @@ { "name": "manifold-3d", - "version": "2.1.0", + "version": "2.2.1", "description": "Geometry library for topological robustness", "main": "manifold.js", "files": [ @@ -36,4 +36,4 @@ "url": "https://github.com/elalish/manifold/issues" }, "homepage": "https://github.com/elalish/manifold#readme" -} \ No newline at end of file +} diff --git a/flake.nix b/flake.nix index ac8ca45f9..7293c8fe5 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ }: pkgs.stdenv.mkDerivation { inherit doCheck; pname = "manifold-${parallel-backend}"; - version = "2.2.0"; + version = "2.2.1"; src = self; nativeBuildInputs = (with pkgs; [ cmake @@ -103,7 +103,7 @@ parallelBackends)) // { manifold-js = pkgs.buildEmscriptenPackage { name = "manifold-js"; - version = "beta"; + version = "2.2.1"; src = self; nativeBuildInputs = (with pkgs; [ cmake python39 ]); buildInputs = [ pkgs.nodejs ]; @@ -134,7 +134,7 @@ # but how should we make it work with other python versions? manifold3d = with pkgs.python3Packages; buildPythonPackage { pname = "manifold3d"; - version = "2.2.0"; + version = "2.2.1"; src = self; propagatedBuildInputs = [ numpy diff --git a/pyproject.toml b/pyproject.toml index 9cc3c2066..8439ff0d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,13 @@ [project] name = "manifold3d" -version = "2.2.0" +version = "2.2.1" authors = [ { name="Emmett Lalish", email="elalish@gmail.com" }, ] description = "Library for geometric robustness" readme = "README.md" classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: C++", diff --git a/samples/models/perfSpheres.png b/samples/models/perfSpheres.png deleted file mode 100644 index 7dd1158ec..000000000 Binary files a/samples/models/perfSpheres.png and /dev/null differ diff --git a/src/manifold/src/constructors.cpp b/src/manifold/src/constructors.cpp index 0873eee29..2c770b564 100644 --- a/src/manifold/src/constructors.cpp +++ b/src/manifold/src/constructors.cpp @@ -220,6 +220,9 @@ Manifold Manifold::Sphere(float radius, int circularSegments) { /** * Constructs a manifold from a set of polygons by extruding them along the * Z-axis. + * Note that high twistDegrees with small nDivisions may cause + * self-intersection. This is not checked here and it is up to the user to + * choose the correct parameters. * * @param crossSection A set of non-overlapping polygons to extrude. * @param height Z-extent of extrusion.