Backends¶
These are the suitable backends for static stability polygon computation. Some backends are restricted to 2D/3D cases.
They all take as argument, a geometry engine. For now, only scipy is supported. Others are defined at least partially in geomengines.py:
- scipy: default and the only one supported as of now. We use its bindings of qhull.
- CGAL: Was supported but the available python bindings are too slow.
- Shapely: Does not support 3D properly
- Qhull-Sch: Custom bindings to qhullcpp for sch, that are not really usable as of now.
-
class
stabilipy.backends.
CDDBackend
(geomengine='scipy')¶ Using the CDD backend for polygon computation. This is the most polyvalent backend. Works on floating-point numbers. Requires pycddlib
Default constructor.
Parameters: geomengine – underlying geometry engine. Only scipy is supported
-
class
stabilipy.backends.
ParmaBackend
(geomengine='scipy')¶ Backend using the Parma Polyhedra Library This is the most precise, and thus slow backend. Works on integer (unlimited precision through the use of GMP). Requires pyparma.
Default constructor.
Parameters: geomengine – underlying geometry engine. Only scipy is supported
-
class
stabilipy.backends.
PlainBackend
(geomengine='scipy')¶ Plain Backend using the cdd backend for initialization. This is the simplest, fastest backend. However, only works on 2D polygons.
Default constructor.
Parameters: geomengine – underlying geometry engine. Only scipy is supported.
-
class
stabilipy.backends.
QhullBackend
(geomengine='scipy')¶ Using the Qhull backend for polygon computation. This is an experimental backend that should yield better performance. Works on floating-point numbers. Requires scipy.
Default constructor.
Parameters: geomengine – underlying geometry engine. Only scipy is supported