From 905e5dcbb0101e0f807972b026dff6bf62e3d811 Mon Sep 17 00:00:00 2001 From: Damien Marchal Date: Wed, 24 May 2023 15:14:22 +0200 Subject: [PATCH 01/31] Remove the automock of Sofa --- docs/sphinx/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/source/conf.py b/docs/sphinx/source/conf.py index 3b00b603..f5549340 100644 --- a/docs/sphinx/source/conf.py +++ b/docs/sphinx/source/conf.py @@ -213,7 +213,7 @@ class Mock(MagicMock): def __getattr__(cls, name): return MagicMock() -autodoc_mock_imports = ['numpy', 'Sofa', 'SofaRuntime', 'SofaExporter', 'SofaTypes', 'splib'] +autodoc_mock_imports = ['numpy'] sys.modules.update((mod_name, Mock()) for mod_name in autodoc_mock_imports) From 225a4c654b912d899b93e27f9adc82cb1b9e29be Mon Sep 17 00:00:00 2001 From: Damien Marchal Date: Mon, 5 Jun 2023 17:04:06 +0200 Subject: [PATCH 02/31] WIPPP --- bindings/Sofa/package/__init__.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/bindings/Sofa/package/__init__.py b/bindings/Sofa/package/__init__.py index 75b26bff..28d912a3 100644 --- a/bindings/Sofa/package/__init__.py +++ b/bindings/Sofa/package/__init__.py @@ -1,6 +1,5 @@ """ -Package containing the binding for the core of Sofa -------------------------------------------------- +All the key components supported by the sofa-consortium Example of use: .. code-block:: python @@ -17,14 +16,27 @@ Sofa.Simulation.init(n) Sofa.Simulation.print(n) -Submodules: - .. autosummary:: - :toctree: _autosummary +.. rubric:: Sub modules +.. autosummary:: + :toctree: generated/Sofa + :template: autosummary/package.rst + :recursive: + + Core + Simulation + Helper + Types + Gui + +.. rubric:: Functions +.. autosummary:: + :toctree: generated/modules/Sofa + + msg_deprecated + msg_warning + msg_error + msg_info - Sofa.Core - Sofa.Simulation - Sofa.Types - Sofa.Helper """ import sys From 582ec1a7b5f8cd99c07b827627c3be42364c4302 Mon Sep 17 00:00:00 2001 From: Damien Marchal Date: Wed, 7 Jun 2023 16:05:35 +0200 Subject: [PATCH 03/31] WIP --- .gitignore | 1 - .readthedocs.yml | 19 +- docs/sphinx/build/html/.buildinfo | 4 + .../build/html/_images/SP3_global_arch.png | Bin 0 -> 56134 bytes docs/sphinx/build/html/_modules/Sofa.html | 575 ++++ .../build/html/_modules/Sofa/prefab.html | 338 +++ .../build/html/_modules/SofaRuntime.html | 364 +++ docs/sphinx/build/html/_modules/index.html | 226 ++ docs/sphinx/build/html/_sources/index.rst.txt | 26 + .../modules/Sofa/generated/Sofa.Gui.rst.txt | 43 + .../Sofa.Gui/classes/Sofa.Gui.BaseGUI.rst.txt | 15 + .../classes/Sofa.Gui.GUIManager.rst.txt | 15 + .../Sofa/generated/Sofa.Helper.rst.txt | 68 + .../Sofa.Helper.MessageHandler.rst.txt | 15 + .../Sofa.Helper.StdVectorBaseData.rst.txt | 15 + .../Sofa.Helper.StdVectordouble.rst.txt | 15 + .../Sofa.Helper.StdVectorfloat.rst.txt | 15 + .../classes/Sofa.Helper.StdVectorint.rst.txt | 15 + .../classes/Sofa.Helper.StdVectorlong.rst.txt | 15 + .../classes/Sofa.Helper.StdVectoruint.rst.txt | 15 + .../Sofa.Helper.StdVectorulong.rst.txt | 15 + .../Sofa.Helper.VectorBaseData.rst.txt | 15 + .../classes/Sofa.Helper.Vectordouble.rst.txt | 15 + .../classes/Sofa.Helper.Vectorfloat.rst.txt | 15 + .../classes/Sofa.Helper.Vectorint.rst.txt | 15 + .../classes/Sofa.Helper.Vectorlong.rst.txt | 15 + .../classes/Sofa.Helper.Vectoruint.rst.txt | 15 + .../classes/Sofa.Helper.Vectorulong.rst.txt | 15 + .../Sofa.Helper.msg_deprecated.rst.txt | 9 + .../functions/Sofa.Helper.msg_error.rst.txt | 9 + .../functions/Sofa.Helper.msg_fatal.rst.txt | 9 + .../functions/Sofa.Helper.msg_info.rst.txt | 9 + .../functions/Sofa.Helper.msg_warning.rst.txt | 9 + .../Sofa/generated/Sofa.Simulation.rst.txt | 50 + .../functions/Sofa.Simulation.animate.rst.txt | 9 + .../Sofa.Simulation.animateNSteps.rst.txt | 9 + .../functions/Sofa.Simulation.init.rst.txt | 9 + .../Sofa.Simulation.initTextures.rst.txt | 9 + .../Sofa.Simulation.initVisual.rst.txt | 9 + .../functions/Sofa.Simulation.load.rst.txt | 9 + .../functions/Sofa.Simulation.print.rst.txt | 9 + .../functions/Sofa.Simulation.reset.rst.txt | 9 + .../functions/Sofa.Simulation.unload.rst.txt | 9 + .../Sofa.Simulation.updateVisual.rst.txt | 9 + .../generated/Sofa.SofaBaseTopology.rst.txt | 43 + ...faBaseTopology.RegularGridTopology.rst.txt | 15 + ...ofaBaseTopology.SparseGridTopology.rst.txt | 15 + .../Sofa.SofaConstraintSolver.rst.txt | 42 + ...straintSolver.ConstraintSolverImpl.rst.txt | 15 + .../generated/Sofa.SofaDeformable.rst.txt | 47 + .../Sofa.SofaDeformable.LinearSpring.rst.txt | 15 + ...eformable.SpringForceField_Rigid3d.rst.txt | 15 + ...aDeformable.SpringForceField_Vec1d.rst.txt | 15 + ...aDeformable.SpringForceField_Vec2d.rst.txt | 15 + ...aDeformable.SpringForceField_Vec3d.rst.txt | 15 + ...aDeformable.SpringForceField_Vec6d.rst.txt | 15 + .../Sofa/generated/Sofa.SofaGL.rst.txt | 42 + .../functions/Sofa.SofaGL.draw.rst.txt | 9 + .../functions/Sofa.SofaGL.glewInit.rst.txt | 9 + .../Sofa/generated/Sofa.SofaTypes.rst.txt | 39 + .../Sofa.SofaTypes.SofaTypes.rst.txt | 58 + .../modules/Sofa/generated/Sofa.Types.rst.txt | 42 + .../classes/Sofa.Types.BoundingBox.rst.txt | 15 + .../Sofa/generated/Sofa.constants.rst.txt | 40 + .../submodules/Sofa.constants.Key.rst.txt | 23 + .../submodules/Sofa.constants.KeyCode.rst.txt | 23 + .../generated/Sofa.msg_deprecated.rst.txt | 9 + .../Sofa/generated/Sofa.msg_error.rst.txt | 9 + .../Sofa/generated/Sofa.msg_info.rst.txt | 9 + .../Sofa/generated/Sofa.msg_warning.rst.txt | 9 + .../Sofa/generated/Sofa.prefab.rst.txt | 42 + .../classes/Sofa.prefab.Prefab.rst.txt | 15 + .../html/_sources/modules/Sofa/index.rst.txt | 45 + .../generated/SofaExporter.rst.txt | 43 + .../classes/SofaExporter.STLExporter.rst.txt | 15 + ...ofaExporter.VisualModelOBJExporter.rst.txt | 15 + .../modules/SofaExporter/index.rst.txt | 6 + .../SofaRuntime.formatStackForSofa.rst.txt | 9 + .../SofaRuntime.getPythonCallingPoint.rst.txt | 9 + ...time.getPythonCallingPointAsString.rst.txt | 9 + ...etSofaFormattedStringFromException.rst.txt | 9 + .../SofaRuntime.getStackForSofa.rst.txt | 9 + .../SofaRuntime.importPlugin.rst.txt | 9 + ...faRuntime.sendMessageFromException.rst.txt | 9 + .../SofaRuntime.sofaExceptHandler.rst.txt | 9 + .../SofaRuntime.sofaFormatHandler.rst.txt | 9 + .../SofaRuntime.unloadModules.rst.txt | 9 + .../modules/SofaRuntime/index.rst.txt | 25 + .../build/html/_sources/modules/index.rst.txt | 10 + docs/sphinx/build/html/_static/basic.css | 903 ++++++ docs/sphinx/build/html/_static/contentui.css | 133 + docs/sphinx/build/html/_static/contentui.js | 74 + .../build/html/_static/css/badge_only.css | 1 + .../_static/css/fonts/Roboto-Slab-Bold.woff | Bin 0 -> 87624 bytes .../_static/css/fonts/Roboto-Slab-Bold.woff2 | Bin 0 -> 67312 bytes .../css/fonts/Roboto-Slab-Regular.woff | Bin 0 -> 86288 bytes .../css/fonts/Roboto-Slab-Regular.woff2 | Bin 0 -> 66444 bytes .../_static/css/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../_static/css/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../_static/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../css/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../_static/css/fonts/lato-bold-italic.woff | Bin 0 -> 323344 bytes .../_static/css/fonts/lato-bold-italic.woff2 | Bin 0 -> 193308 bytes .../html/_static/css/fonts/lato-bold.woff | Bin 0 -> 309728 bytes .../html/_static/css/fonts/lato-bold.woff2 | Bin 0 -> 184912 bytes .../_static/css/fonts/lato-normal-italic.woff | Bin 0 -> 328412 bytes .../css/fonts/lato-normal-italic.woff2 | Bin 0 -> 195704 bytes .../html/_static/css/fonts/lato-normal.woff | Bin 0 -> 309192 bytes .../html/_static/css/fonts/lato-normal.woff2 | Bin 0 -> 182708 bytes docs/sphinx/build/html/_static/css/theme.css | 4 + docs/sphinx/build/html/_static/doctools.js | 156 + .../html/_static/documentation_options.js | 14 + docs/sphinx/build/html/_static/file.png | Bin 0 -> 286 bytes .../build/html/_static/js/badge_only.js | 1 + .../_static/js/html5shiv-printshiv.min.js | 4 + .../build/html/_static/js/html5shiv.min.js | 4 + docs/sphinx/build/html/_static/js/theme.js | 1 + .../build/html/_static/language_data.js | 199 ++ docs/sphinx/build/html/_static/minus.png | Bin 0 -> 90 bytes docs/sphinx/build/html/_static/plus.png | Bin 0 -> 90 bytes docs/sphinx/build/html/_static/pygments.css | 74 + docs/sphinx/build/html/_static/searchtools.js | 566 ++++ .../build/html/_static/sphinx_highlight.js | 144 + docs/sphinx/build/html/genindex.html | 2126 +++++++++++++ docs/sphinx/build/html/index.html | 1339 +++++++++ .../html/modules/Sofa/generated/Sofa.Gui.html | 260 ++ .../Sofa.Gui/classes/Sofa.Gui.BaseGUI.html | 242 ++ .../Sofa.Gui/classes/Sofa.Gui.GUIManager.html | 452 +++ .../modules/Sofa/generated/Sofa.Helper.html | 325 ++ .../classes/Sofa.Helper.MessageHandler.html | 236 ++ .../Sofa.Helper.StdVectorBaseData.html | 298 ++ .../classes/Sofa.Helper.StdVectordouble.html | 298 ++ .../classes/Sofa.Helper.StdVectorfloat.html | 298 ++ .../classes/Sofa.Helper.StdVectorint.html | 298 ++ .../classes/Sofa.Helper.StdVectorlong.html | 298 ++ .../classes/Sofa.Helper.StdVectoruint.html | 298 ++ .../classes/Sofa.Helper.StdVectorulong.html | 298 ++ .../classes/Sofa.Helper.VectorBaseData.html | 289 ++ .../classes/Sofa.Helper.Vectordouble.html | 289 ++ .../classes/Sofa.Helper.Vectorfloat.html | 289 ++ .../classes/Sofa.Helper.Vectorint.html | 289 ++ .../classes/Sofa.Helper.Vectorlong.html | 289 ++ .../classes/Sofa.Helper.Vectoruint.html | 289 ++ .../classes/Sofa.Helper.Vectorulong.html | 289 ++ .../functions/Sofa.Helper.msg_deprecated.html | 231 ++ .../functions/Sofa.Helper.msg_error.html | 231 ++ .../functions/Sofa.Helper.msg_fatal.html | 231 ++ .../functions/Sofa.Helper.msg_info.html | 231 ++ .../functions/Sofa.Helper.msg_warning.html | 231 ++ .../Sofa/generated/Sofa.Simulation.html | 310 ++ .../functions/Sofa.Simulation.animate.html | 232 ++ .../Sofa.Simulation.animateNSteps.html | 233 ++ .../functions/Sofa.Simulation.init.html | 231 ++ .../Sofa.Simulation.initTextures.html | 230 ++ .../functions/Sofa.Simulation.initVisual.html | 230 ++ .../functions/Sofa.Simulation.load.html | 235 ++ .../functions/Sofa.Simulation.print.html | 231 ++ .../functions/Sofa.Simulation.reset.html | 231 ++ .../functions/Sofa.Simulation.unload.html | 231 ++ .../Sofa.Simulation.updateVisual.html | 230 ++ .../Sofa/generated/Sofa.SofaBaseTopology.html | 243 ++ ....SofaBaseTopology.RegularGridTopology.html | 597 ++++ ...a.SofaBaseTopology.SparseGridTopology.html | 675 +++++ .../generated/Sofa.SofaConstraintSolver.html | 240 ++ ...ConstraintSolver.ConstraintSolverImpl.html | 613 ++++ .../Sofa/generated/Sofa.SofaDeformable.html | 255 ++ .../Sofa.SofaDeformable.LinearSpring.html | 248 ++ ...faDeformable.SpringForceField_Rigid3d.html | 654 ++++ ...SofaDeformable.SpringForceField_Vec1d.html | 654 ++++ ...SofaDeformable.SpringForceField_Vec2d.html | 654 ++++ ...SofaDeformable.SpringForceField_Vec3d.html | 654 ++++ ...SofaDeformable.SpringForceField_Vec6d.html | 654 ++++ .../modules/Sofa/generated/Sofa.SofaGL.html | 243 ++ .../functions/Sofa.SofaGL.draw.html | 233 ++ .../functions/Sofa.SofaGL.glewInit.html | 231 ++ .../Sofa/generated/Sofa.SofaTypes.html | 243 ++ .../submodules/Sofa.SofaTypes.SofaTypes.html | 320 ++ .../modules/Sofa/generated/Sofa.Types.html | 241 ++ .../classes/Sofa.Types.BoundingBox.html | 508 ++++ .../Sofa/generated/Sofa.constants.html | 305 ++ .../submodules/Sofa.constants.Key.html | 226 ++ .../submodules/Sofa.constants.KeyCode.html | 226 ++ .../Sofa/generated/Sofa.msg_deprecated.html | 229 ++ .../Sofa/generated/Sofa.msg_error.html | 229 ++ .../modules/Sofa/generated/Sofa.msg_info.html | 229 ++ .../Sofa/generated/Sofa.msg_warning.html | 229 ++ .../modules/Sofa/generated/Sofa.prefab.html | 240 ++ .../classes/Sofa.prefab.Prefab.html | 895 ++++++ .../sphinx/build/html/modules/Sofa/index.html | 318 ++ .../SofaExporter/generated/SofaExporter.html | 251 ++ .../classes/SofaExporter.STLExporter.html | 605 ++++ .../SofaExporter.VisualModelOBJExporter.html | 605 ++++ .../html/modules/SofaExporter/index.html | 227 ++ .../SofaRuntime.formatStackForSofa.html | 239 ++ .../SofaRuntime.getPythonCallingPoint.html | 230 ++ ...Runtime.getPythonCallingPointAsString.html | 230 ++ ...e.getSofaFormattedStringFromException.html | 227 ++ .../SofaRuntime.getStackForSofa.html | 230 ++ .../generated/SofaRuntime.importPlugin.html | 230 ++ .../SofaRuntime.sendMessageFromException.html | 229 ++ .../SofaRuntime.sofaExceptHandler.html | 229 ++ .../SofaRuntime.sofaFormatHandler.html | 229 ++ .../generated/SofaRuntime.unloadModules.html | 232 ++ .../build/html/modules/SofaRuntime/index.html | 268 ++ docs/sphinx/build/html/modules/index.html | 1325 ++++++++ docs/sphinx/build/html/objects.inv | Bin 0 -> 5896 bytes docs/sphinx/build/html/py-modindex.html | 313 ++ docs/sphinx/build/html/search.html | 233 ++ docs/sphinx/build/html/searchindex.js | 1 + 210 files changed, 38239 insertions(+), 10 deletions(-) create mode 100644 docs/sphinx/build/html/.buildinfo create mode 100644 docs/sphinx/build/html/_images/SP3_global_arch.png create mode 100644 docs/sphinx/build/html/_modules/Sofa.html create mode 100644 docs/sphinx/build/html/_modules/Sofa/prefab.html create mode 100644 docs/sphinx/build/html/_modules/SofaRuntime.html create mode 100644 docs/sphinx/build/html/_modules/index.html create mode 100644 docs/sphinx/build/html/_sources/index.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.BaseGUI.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.GUIManager.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.MessageHandler.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorBaseData.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectordouble.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorfloat.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorint.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorlong.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectoruint.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorulong.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.VectorBaseData.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectordouble.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorfloat.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorint.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorlong.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectoruint.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorulong.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_deprecated.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_error.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_fatal.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_info.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_warning.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animate.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animateNSteps.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.init.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initTextures.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initVisual.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.load.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.print.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.reset.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.unload.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.updateVisual.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.RegularGridTopology.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.SparseGridTopology.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec1d.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec2d.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec3d.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec6d.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_deprecated.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_error.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_info.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_warning.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/Sofa/index.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.VisualModelOBJExporter.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaExporter/index.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.importPlugin.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.unloadModules.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/SofaRuntime/index.rst.txt create mode 100644 docs/sphinx/build/html/_sources/modules/index.rst.txt create mode 100644 docs/sphinx/build/html/_static/basic.css create mode 100644 docs/sphinx/build/html/_static/contentui.css create mode 100644 docs/sphinx/build/html/_static/contentui.js create mode 100644 docs/sphinx/build/html/_static/css/badge_only.css create mode 100644 docs/sphinx/build/html/_static/css/fonts/Roboto-Slab-Bold.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/Roboto-Slab-Regular.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/fontawesome-webfont.eot create mode 100644 docs/sphinx/build/html/_static/css/fonts/fontawesome-webfont.svg create mode 100644 docs/sphinx/build/html/_static/css/fonts/fontawesome-webfont.ttf create mode 100644 docs/sphinx/build/html/_static/css/fonts/fontawesome-webfont.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/fontawesome-webfont.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-bold-italic.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-bold-italic.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-bold.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-bold.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-normal-italic.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-normal-italic.woff2 create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-normal.woff create mode 100644 docs/sphinx/build/html/_static/css/fonts/lato-normal.woff2 create mode 100644 docs/sphinx/build/html/_static/css/theme.css create mode 100644 docs/sphinx/build/html/_static/doctools.js create mode 100644 docs/sphinx/build/html/_static/documentation_options.js create mode 100644 docs/sphinx/build/html/_static/file.png create mode 100644 docs/sphinx/build/html/_static/js/badge_only.js create mode 100644 docs/sphinx/build/html/_static/js/html5shiv-printshiv.min.js create mode 100644 docs/sphinx/build/html/_static/js/html5shiv.min.js create mode 100644 docs/sphinx/build/html/_static/js/theme.js create mode 100644 docs/sphinx/build/html/_static/language_data.js create mode 100644 docs/sphinx/build/html/_static/minus.png create mode 100644 docs/sphinx/build/html/_static/plus.png create mode 100644 docs/sphinx/build/html/_static/pygments.css create mode 100644 docs/sphinx/build/html/_static/searchtools.js create mode 100644 docs/sphinx/build/html/_static/sphinx_highlight.js create mode 100644 docs/sphinx/build/html/genindex.html create mode 100644 docs/sphinx/build/html/index.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Gui.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.BaseGUI.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.GUIManager.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.MessageHandler.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorBaseData.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectordouble.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorfloat.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorint.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorlong.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectoruint.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorulong.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.VectorBaseData.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectordouble.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorfloat.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorint.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorlong.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectoruint.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorulong.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_deprecated.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_error.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_fatal.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_info.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_warning.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animate.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animateNSteps.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.init.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initTextures.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initVisual.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.load.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.print.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.reset.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.unload.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.updateVisual.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaBaseTopology.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.RegularGridTopology.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.SparseGridTopology.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaConstraintSolver.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec1d.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec2d.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec3d.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec6d.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaGL.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaTypes.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Types.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.constants.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.msg_deprecated.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.msg_error.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.msg_info.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.msg_warning.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.prefab.html create mode 100644 docs/sphinx/build/html/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.html create mode 100644 docs/sphinx/build/html/modules/Sofa/index.html create mode 100644 docs/sphinx/build/html/modules/SofaExporter/generated/SofaExporter.html create mode 100644 docs/sphinx/build/html/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.html create mode 100644 docs/sphinx/build/html/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.VisualModelOBJExporter.html create mode 100644 docs/sphinx/build/html/modules/SofaExporter/index.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.importPlugin.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/generated/SofaRuntime.unloadModules.html create mode 100644 docs/sphinx/build/html/modules/SofaRuntime/index.html create mode 100644 docs/sphinx/build/html/modules/index.html create mode 100644 docs/sphinx/build/html/objects.inv create mode 100644 docs/sphinx/build/html/py-modindex.html create mode 100644 docs/sphinx/build/html/search.html create mode 100644 docs/sphinx/build/html/searchindex.js diff --git a/.gitignore b/.gitignore index 2d706522..3b9debf3 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,4 @@ __pycache__/ *.pyc *.so docs/stubs -docs/sphinx/build/ docs/sphinx/source/*/_autosummary* diff --git a/.readthedocs.yml b/.readthedocs.yml index 3c7c248f..ef5c8f77 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,16 +9,17 @@ version: 2 sphinx: configuration: docs/sphinx/source/conf.py -# Build documentation with MkDocs -#mkdocs: -# configuration: mkdocs.yml - -# Optionally build your docs in additional formats such as PDF -formats: - - pdf - # Optionally set the version of Python and requirements required to build your docs python: - version: 3.7 + version: 3.10 install: - requirements: docs/sphinx/source/requirements.txt + +build: + os: "ubuntu-22.04" + tools: + python: "3.10" + commands: + - mkdir --parents _readthedocs/html/ + - mkdir --parents _readthedocs/doctrees + - cp --recursive docs/sphinx/build/* _readthedocs/ \ No newline at end of file diff --git a/docs/sphinx/build/html/.buildinfo b/docs/sphinx/build/html/.buildinfo new file mode 100644 index 00000000..11f26900 --- /dev/null +++ b/docs/sphinx/build/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: c82bebf4537e67a007b046e5ed862c7b +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/sphinx/build/html/_images/SP3_global_arch.png b/docs/sphinx/build/html/_images/SP3_global_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..250eb4f892861621ebcf8794f3332ffca8480e99 GIT binary patch literal 56134 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 literal 0 HcmV?d00001 diff --git a/docs/sphinx/build/html/_modules/Sofa.html b/docs/sphinx/build/html/_modules/Sofa.html new file mode 100644 index 00000000..9c4640b9 --- /dev/null +++ b/docs/sphinx/build/html/_modules/Sofa.html @@ -0,0 +1,575 @@ + + + + + + Sofa — SofaPython3 20.12.00 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for Sofa

+"""
+All the key components supported by the sofa-consortium
+
+General description
+-------------------
+
+Example of use
+--------------
+  .. code-block:: python
+
+    import Sofa.Core
+    import Sofa.Simulation
+    import SofaRuntime
+    SofaRuntime.importPlugin("Sofa.Component")
+
+    n = Sofa.Core.Node("MyNode")
+    n.addChild("Node2")
+    n.addObject("MechanicalObject", name="dofs")
+
+    Sofa.Simulation.init(n)
+    Sofa.Simulation.print(n)
+
+"""
+
+import sys
+import os
+import inspect
+import functools
+import traceback
+import importlib
+
+print("---------------------------------------")
+print("Checking SOFA_ROOT and SOFAPYTHON3_ROOT")
+
+# check if SOFA_ROOT has been (well) set
+sofa_root = os.environ.get('SOFA_ROOT')
+if sofa_root:
+    print("Using environment variable SOFA_ROOT: " + sofa_root)
+else:
+    print("Warning: environment variable SOFA_ROOT is empty. Trying to guess it.")
+    # try a guess from <sofa_root>/plugins/SofaPython3/lib/python3/site-packages/Sofa
+    sofa_root_guess = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/../../../../../..')
+    if os.path.isdir(os.path.abspath(sofa_root_guess + '/lib' )):
+        print("Guessed SOFA_ROOT: " + sofa_root_guess)
+        sofa_root = sofa_root_guess
+        os.environ["SOFA_ROOT"] = sofa_root
+    else:
+        print("Warning: cannot guess SOFA_ROOT",
+              "Loading SOFA libraries will likely fail and/or SOFA won't find its resources.")
+
+if sofa_root and sys.platform == 'win32':
+
+    # check if SOFAPYTHON3_ROOT has been (well) set, only useful for Windows
+    sofapython3_root = os.environ.get('SOFAPYTHON3_ROOT')
+    if sofapython3_root:
+        print("Using environment variable SOFAPYTHON3_ROOT: " + sofapython3_root)
+    else:
+        print("Warning: environment variable SOFAPYTHON3_ROOT is empty. Trying to guess it.")
+        # try a guess from <sofapython3_root>/lib/python3/site-packages/Sofa
+        sofapython3_root_guess = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/../../../..')
+        if os.path.isdir(os.path.abspath(sofapython3_root_guess + '/lib' )):
+            print("Guessed SOFAPYTHON3_ROOT: " + sofapython3_root_guess)
+            sofapython3_root = sofapython3_root_guess
+            os.environ["SOFAPYTHON3_ROOT"] = sofapython3_root
+        else:
+            print("Warning: cannot guess SOFAPYTHON3_ROOT",
+                  "Loading SofaPython3 modules will likely fail.")
+
+    # Windows-only: starting from python 3.8, python wont read the env. variable PATH to get SOFA's dlls.
+    # os.add_dll_directory() is the new way to add paths for python to get external libraries.
+    sofa_bin_path = os.path.join(sofa_root, "bin")
+    sofapython3_bin_path = os.path.join(sofapython3_root, "bin")
+
+    compilation_modes = ["Release", "RelWithDebInfo", "Debug", "MinSizeRel"]
+    sofa_bin_compilation_modes = []
+    sofapython3_bin_compilation_modes = []
+    for mode in compilation_modes:
+        if os.path.isdir(os.path.abspath(os.path.join(sofa_bin_path, mode))):
+            sofa_bin_compilation_modes.append(os.path.join(sofa_bin_path, mode))
+        if os.path.isdir(os.path.abspath(os.path.join(sofapython3_bin_path, mode))):
+            sofapython3_bin_compilation_modes.append(os.path.join(sofapython3_bin_path, mode))
+
+    if sofa_bin_compilation_modes:
+        print("Detected SOFA development build")
+    if sofapython3_bin_compilation_modes:
+        print("Detected SofaPython3 development build")
+
+    sofa_bin_candidates = [sofa_bin_path] + sofa_bin_compilation_modes
+    sofapython3_bin_candidates = [sofapython3_bin_path] + sofapython3_bin_compilation_modes
+
+    for candidate in sofa_bin_candidates:
+        sofa_file_test = os.path.join(candidate, "Sofa.Helper.dll")
+        if os.path.isfile(sofa_file_test):
+            print("Found Sofa.Helper.dll in " + candidate)
+            sofa_bin_path = candidate
+            break
+
+    sofa_file_test = os.path.join(sofa_bin_path, "Sofa.Helper.dll")
+
+    for candidate in sofapython3_bin_candidates:
+        sofapython3_file_test = os.path.join(candidate, "SofaPython3.dll")
+        if os.path.isfile(sofapython3_file_test):
+            print("Found SofaPython3.dll in " + candidate)
+            sofapython3_bin_path = candidate
+            break
+
+    sofapython3_file_test = os.path.join(sofapython3_bin_path, "SofaPython3.dll")
+
+    if not os.path.isfile(sofa_file_test):
+        print("Warning: environment variable SOFA_ROOT is set but seems invalid.",
+              "Loading SOFA libraries will likely fail.")
+        print("SOFA_ROOT is currently: " + sofa_root)
+    if not os.path.isfile(sofapython3_file_test):
+        print("Warning: cannot find SofaPython3.dll at path: " + sofapython3_bin_path)
+        print("This path will NOT be added to the DLL search path.",
+              "Loading SofaPython3 python modules will likely fail.")
+
+    if sys.version_info.minor >= 8:
+        # Starting from python3.8 we need to explicitly find SOFA libraries
+        if os.path.isfile(sofa_file_test):
+            os.add_dll_directory(sofa_bin_path)
+        if os.path.isfile(sofapython3_file_test):
+            os.add_dll_directory(sofapython3_bin_path)
+    else:
+        # Add temporarily the bin/lib path to the env variable PATH
+        if os.path.isfile(sofa_file_test):
+            os.environ['PATH'] = sofa_bin_path + os.pathsep + os.environ['PATH']
+        if os.path.isfile(sofapython3_file_test):
+            os.environ['PATH'] = sofapython3_bin_path + os.pathsep + os.environ['PATH']
+
+print("---------------------------------------")
+sys.stdout.flush()
+
+import Sofa.constants
+import Sofa.Helper
+import Sofa.Core
+import Sofa.Simulation
+import Sofa.Types
+import Sofa.Components
+import SofaTypes
+
+from .prefab import *
+
+__all__=["constants", "Helper", "Core", "Simulation", "Types", "SofaTypes", "prefab"]
+
+# Keep a list of the modules always imported in the Sofa-PythonEnvironment
+try:
+    __SofaPythonEnvironment_importedModules__
+except:
+    __SofaPythonEnvironment_importedModules__ = sys.modules.copy()
+
+    # some modules could be added here manually and can be modified procedurally
+    # e.g. plugin's modules defined from c++
+    __SofaPythonEnvironment_modulesExcludedFromReload = []
+
+
+def unloadModules():
+    """ call this function to unload python modules and to force their reload
+        (useful to take into account their eventual modifications since
+        their last import).
+    """
+    global __SofaPythonEnvironment_importedModules__
+    toremove = [name for name in sys.modules if not name in __SofaPythonEnvironment_importedModules__ and not name in __SofaPythonEnvironment_modulesExcludedFromReload ]
+    for name in toremove:
+        del(sys.modules[name]) # unload it
+
+
+def formatStackForSofa(o):
+    """ format the stack trace provided as a parameter into a string like that:
+        in filename.py:10:functioname()
+          -> the line of code.
+        in filename2.py:101:functioname1()
+            -> the line of code.
+        in filename3.py:103:functioname2()
+              -> the line of code.
+    """
+    ss='At: '
+    for entry in o:
+        ss+= '\n  '+ str(entry[1]) + '(' + str(entry[2]) + '): '+ entry[3]
+    return ss + "\n"
+
+def getStackForSofa():
+    """returns the current stack with a "informal" formatting. """
+    ## we exclude the first level in the stack because it is the getStackForSofa() function itself.
+    ss=inspect.stack()[1:]
+    return formatStackForSofa(ss)
+
+
+def getPythonCallingPointAsString():
+    """returns the last entry with an "informal" formatting. """
+
+    ## we exclude the first level in the stack because it is the getStackForSofa() function itself.
+    ss=inspect.stack()[1:2]
+    return formatStackForSofa(ss)
+
+
+def getPythonCallingPoint():
+    """returns the tuple with closest filename & line. """
+    ## we exclude the first level in the stack because it is the getStackForSofa() function itself.
+    ss=inspect.stack()[1:2]
+    tmp=(os.path.abspath(ss[1]), ss[2])
+    return tmp
+
+
+def sendMessageFromException(e):
+    exc_type, exc_value, exc_tb = sys.exc_info()
+    sofaExceptHandler(exc_type, exc_value, exc_tb)
+
+
+def sofaFormatHandler(type, value, tb):
+    global oldexcepthook
+    """This exception handler, convert python exceptions & traceback into more classical sofa error messages of the form:
+       Message Description
+       Python Stack (most recent are at the end)
+          File file1.py line 4  ...
+          File file1.py line 10 ...
+          File file1.py line 40 ...
+          File file1.py line 23 ...
+            faulty line
+    """
+    s="\nPython Stack (most recent are at the end): \n"
+    for line in traceback.format_tb(tb):
+        s += line
+
+    return repr(value)+"\n"+s
+
+
+def getSofaFormattedStringFromException(e):
+    exc_type, exc_value, exc_tb = sys.exc_info()
+    return sofaFormatHandler(exc_type, exc_value, exc_tb)
+
+def sofaExceptHandler(type, value, tb):
+    global oldexcepthook
+    """This exception handler, convert python exceptions & traceback into more classical sofa error messages of the form:
+       Message Description
+       Python Stack (most recent are at the end)
+          File file1.py line 4  ...
+          File file1.py line 10 ...
+          File file1.py line 40 ...
+          File file1.py line 23 ...
+            faulty line
+    """
+    h = type.__name__
+
+    if str(value) != '':
+        h += ': ' + str(value)
+
+    s = ''.join(traceback.format_tb(tb))
+
+    Sofa.Helper.msg_error(h + '\n' + s, "line", 7)
+
+sys.excepthook=sofaExceptHandler
+
+def pyType2sofaType(v):
+    if isinstance(v, bool):
+        return "bool"
+    if isinstance(v, str):
+        return "string"
+    if isinstance(v, int):
+        return "int"
+    if isinstance(v, float):
+        return "double"
+    if isinstance(v, list) and len(v)==3:
+        return "Vec3d"
+    if isinstance(v, list):
+        return "vector<double>"
+    if isinstance(v, Sofa.PyTypes.DataType):
+        return v.sofaTypeName
+    return None
+
+
+
[docs]def msg_error(target, message): + frameinfo = inspect.getframeinfo(inspect.currentframe().f_back) + Sofa.Helper.msg_error(target, message, frameinfo.filename, frameinfo.lineno)
+ +
[docs]def msg_info(target, message): + frameinfo = inspect.getframeinfo(inspect.currentframe().f_back) + Sofa.Helper.msg_info(target, message, frameinfo.filename, frameinfo.lineno)
+ +
[docs]def msg_warning(target, message): + frameinfo = inspect.getframeinfo(inspect.currentframe().f_back) + Sofa.Helper.msg_warning(target, message, frameinfo.filename, frameinfo.lineno)
+ +
[docs]def msg_deprecated(target, message): + frameinfo = inspect.getframeinfo(inspect.currentframe().f_back) + Sofa.Helper.msg_deprecated(target, message, frameinfo.filename, frameinfo.lineno)
+ +import inspect +def PrefabBuilder(f): + frameinfo = inspect.getframeinfo(inspect.currentframe().f_back) + definedloc = (frameinfo.filename, frameinfo.lineno) + + def SofaPrefabF(*args, **kwargs): + class InnerSofaPrefab(Sofa.Core.RawPrefab): + def __init__(self, *args, **kwargs): + Sofa.Core.RawPrefab.__init__(self, *args, **kwargs) + self.isValid = True + + def doReInit(self): + if not self.isValid: + return + try: + argnames = inspect.getfullargspec(f).args + + kkwargs = {} + kkwargs["self"] = self + for name in argnames[:]: + if name != "self": + kkwargs[name] = self.__data__[name].value + + self.cb(**kkwargs) + except Exception as e: + self.isValid = False + exc_type, exc_value, exc_tb = sys.exc_info() + Sofa.Helper.msg_error(self, "Unable to build prefab \n "+getSofaFormattedStringFromException(e)) + try: + selfnode = None + kwargs["name"] = kwargs.get("name", f.__code__.co_name) + selfnode = InnerSofaPrefab(*args, **kwargs) + selfnode.setDefinitionSourceFileName(definedloc[0]) + selfnode.setDefinitionSourceFilePos(definedloc[1]) + selfnode.setSourceTracking(definedloc[0]) + selfnode.cb = f + ## retrieve meta data from decorated class: + selfnode.addData(name="prefabname", value=f.__code__.co_name, + type="string", help="The prefab's name", group="Infos") + selfnode.addData(name="docstring", value=f.__doc__, + type="string", help="This prefab's docstring", group="Infos") + + ## Now we retrieve all params passed to the prefab and add them as datafields: + argnames = inspect.getfullargspec(f).args + defaults = inspect.getfullargspec(f).defaults + + if argnames is None: + argnames = [] + defaults = [] + + if defaults is None: + defaults = [] + + i = len(argnames) - len(defaults) + for n in range(0, len(defaults)): + if argnames[i+n] not in selfnode.__data__: + if pyType2sofaType(defaults[n]) != None: + selfnode.addPrefabParameter(name=argnames[i+n], + default=kwargs.get(argnames[i+n], defaults[n]), + type=pyType2sofaType(defaults[n]), help="Undefined") + else: + Sofa.Helper.msg_error("Missing type for parameters: ", argnames[i+n]) + selfnode.init() + + except Exception as e: + if selfnode is not None: + selfnode.isValid=False + Sofa.Helper.msg_error(selfnode, "Unable to create prefab because: "+getSofaFormattedStringFromException(e)) + else: + Sofa.Helper.msg_error("PrefabBuilder", "Unable to create prefab because: "+getSofaFormattedStringFromException(e)) + return selfnode + SofaPrefabF.__dict__["__original__"] = f + return SofaPrefabF + +
+ +
+
+
+ +
+ +
+

© Copyright 2021, SOFA Framework.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/sphinx/build/html/_modules/Sofa/prefab.html b/docs/sphinx/build/html/_modules/Sofa/prefab.html new file mode 100644 index 00000000..a89170f2 --- /dev/null +++ b/docs/sphinx/build/html/_modules/Sofa/prefab.html @@ -0,0 +1,338 @@ + + + + + + Sofa.prefab — SofaPython3 20.12.00 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for Sofa.prefab

+import Sofa.Core
+import inspect
+import os
+
+
+
[docs]class Prefab(Sofa.Core.RawPrefab): + """ + Special Node to make reusable procedural objects in Sofa. + --------------------------------------------------------- + + Inherit from this class to create your own Prefab. What makes Prefab special is that they + have a set of special data named prefabParameters. When any of prefabParameter is changed the prefab + is completely recreated by calling the onParameterChanged method so the scene graph is always kept synchronized + with the parameter's content. + + To specify the prefabParameters, it is possible to provide in the class a list of dictionaries containing the 3 required fields ("name", "type", "help") + and one optional field ("default"). + + The same syntax can be used to also add prefab's data. + + Example of use: + .. code-block:: python + + import Sofa.Core + + class Foo(Sofa.Core.Prefab): + prefabParameters = [{ 'name': 'n', 'type': 'int', 'help': 'number of repetition, 'default': 1}, + {'name': 'message', 'type': 'string', 'help': 'message to display', 'default': ''}] + + myAttribute = 0 + + def __init__(self, *a, *k): + Sofa.Core.Prefab.__init__(self, *a, **k) + + def init(self): + myAttribute += 1 + for i in range(0, self.n.value): + print(self.message.value) + + n = Sofa.Core.Node() + n.addChild(Foo(name="aFooPrefab", n=42, message="hello universe!")) + + Prefab has protected the following additional keywords: + - "name": the name of the prefab instance + - "parent" and "parents": can't be used together, they set the context of the prefab, + thus allowing paths resolution for Prefab parameters whose arguments are passed as link paths (strings). parents (with an '-s') sets multi-node contexts + + + """ + def __init__(self, *args, **kwargs): + Sofa.Core.RawPrefab.__init__(self, *args, **kwargs) + frame = inspect.currentframe().f_back + frameinfo = inspect.getframeinfo(frame) + definedloc = (os.path.abspath(frameinfo.filename), frameinfo.lineno) + + self.setDefinitionSourceFileName(definedloc[0]) + self.setDefinitionSourceFilePos(definedloc[1]) + self.setSourceTracking(definedloc[0]) + + frame = frame.f_back + if frame is not None: + frameinfo = inspect.getframeinfo(frame) + definedloc = (os.path.abspath(frameinfo.filename), frameinfo.lineno) + self.setInstanciationSourceFileName(definedloc[0]) + self.setInstanciationSourceFilePos(definedloc[1]) + + if "name" not in kwargs: + self.setName(str(self.__class__.__name__)) + self.addData("prefabname", value=type(self).__name__, type="string", group="Infos", help="Name of the prefab") + + # A prefab should be added to its parent explicitely by calling parent.addChild() with this prefab. + # However if for some reason you need to pass a context to your prefab, use the "parents" keyword argument to pass its context + if "parent" in kwargs and "parents" not in kwargs: + if isinstance(kwargs['parent'], Sofa.Core.Node): + kwargs['parent'].addChild(self) + else: + Sofa.Helper.msg_error(self, "'parent' is a protected keyword on Sofa.Core.Prefab and should only be used to provide the Prefab's context node - if needed for its instantation") + elif "parents" in kwargs and "parent" not in kwargs: + if isinstance(kwargs["parents"], list): + for parent in kwargs['parents']: + if isinstance(parent, Sofa.Core.Node): + parent.addChild(self) + else: + Sofa.Helper.msg_error(self, "'parents' is an optional protected keyword on Sofa.Core.Prefab and must contain the list of parents of the prefab - if needed for its instantiation") + else: + Sofa.Helper.msg_error(self, "'parents' is a protected keyword on Sofa.Core.Prefab and should contain the list of parents for the prefab - if needed for its instantiation.") + else: + if "parent" in kwargs and "parents" in kwargs: + Sofa.Helper.msg_error(self, "Cannot use both 'parent' and 'parents' keywords on a prefab. Use 'parent' to set the context of your prefab, 'parents' in the case of a multi-parent prefab") + + # Prefab parameters are defined in a list of dictionaries named "prefabParameters". + # The dictionaries has 3 required fields (name, type, help) and an additional optional field "default" + docstring = "" + + if hasattr(self, "prefabParameters"): + docstring += "Prefab's parameters:" + for p in self.prefabParameters: + self.addPrefabParameter(name=p['name'], + type=p['type'], + help=p['help'], + default=kwargs.get(p['name'], p.get('default', None))) + docstring += "\n:param " + p['name'] + ": " + p['help'] + ", defaults to " + str(p.get('default', '')) + '\n:type ' + p['name'] + ": " + p['type'] + "\n\n" + + if hasattr(self, "prefabData"): + docstring += "Prefab's data:" + for p in self.prefabData: + self.addData(name=p['name'], type=p['type'], help=p['help'], + value=kwargs.get(p['name'], p.get('default', None)), + default=p['default'], + group=p.get('group', 'Property')) + docstring += "\n:param " + p['name'] + ": " + p['help'] + ", defaults to " + str(p.get('default', '')) + '\n:type ' + p['name'] + ": " + p['type'] + "\n\n" + + if hasattr(self, "properties"): + Sofa.Helper.msg_deprecated(self, "'properties' has been replaced with 'prefabParameters'. Please update your code.") + docstring += "Prefab's (properties):" + for p in self.properties: + self.addPrefabParameter(name=p['name'], type=p['type'], help=p['help'], default=kwargs.get(p['name'], p.get('default', None))) + docstring += "\n:param " + p['name'] + ": " + p['help'] + ", defaults to " + str(p.get('default', '')) + '\n:type ' + p['name'] + ": " + p['type'] + "\n\n" + + self.addData("docstring", value=('' if self.__doc__ is None else self.__doc__) + docstring, type="string", group="Infos", help="Documentation of the prefab") + + # calls the init() method in the prefab, then do node init & traversal. + self.init()
+
+ +
+
+
+ +
+ +
+

© Copyright 2021, SOFA Framework.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/sphinx/build/html/_modules/SofaRuntime.html b/docs/sphinx/build/html/_modules/SofaRuntime.html new file mode 100644 index 00000000..cca6105a --- /dev/null +++ b/docs/sphinx/build/html/_modules/SofaRuntime.html @@ -0,0 +1,364 @@ + + + + + + SofaRuntime — SofaPython3 20.12.00 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for SofaRuntime

+"""Control of the application runtime
+
+Example of use:
+    .. code-block:: python
+
+        import SofaRuntime
+        SofaRuntime.importPlugin("Sofa.Component.LinearSolver")
+
+"""
+
+import SofaRuntime.SofaRuntime as cpp
+
+import Sofa
+
+import sys
+import os
+import inspect
+import traceback
+import importlib
+
+###############################################################################
+###################### MODULES INPORTS & UNLOAD FEATURES ######################
+###############################################################################
+
+# Keep a list of the modules always imported in the Sofa-PythonEnvironment
+try:
+    __SofaPythonEnvironment_importedModules__
+except:
+    __SofaPythonEnvironment_importedModules__ = sys.modules.copy()
+
+    # some modules could be added here manually and can be modified procedurally
+    # e.g. plugin's modules defined from c++
+    __SofaPythonEnvironment_modulesExcludedFromReload = []
+
+
[docs]def importPlugin(a): + """ Import a plugin""" + return cpp.importPlugin(a)
+ +
[docs]def unloadModules(): + """ call this function to unload python modules and to force their reload + (useful to take into account their eventual modifications since + their last import). + """ + global __SofaPythonEnvironment_importedModules__ + toremove = [name for name in sys.modules if not name in __SofaPythonEnvironment_importedModules__ and not name in __SofaPythonEnvironment_modulesExcludedFromReload ] + for name in toremove: + del(sys.modules[name]) # unload it
+ +################################################################ +###################### CALLSTACK FEATURES ###################### +################################################################ + +
[docs]def formatStackForSofa(o): + """ format the stack trace provided as parameter. + + The parameter is converted into a string like that + + .. code-block:: text + + in filename.py:10:functioname() + -> the line of code. + in filename2.py:101:functioname1() + -> the line of code. + in filename3.py:103:functioname2() + -> the line of code. + + """ + ss='Python Stack: \n' + for entry in o: + ss+= ' in ' + str(entry[1]) + ':' + str(entry[2]) + ':'+ entry[3] + '() \n' + ss+= ' -> '+ entry[4][0] + ' \n' + return ss
+ + +
[docs]def getStackForSofa(): + """returns the current stack with a "informal" formatting. """ + ## we exclude the first level in the stack because it is the getStackForSofa() function itself. + ss=inspect.stack()[1:] + return formatStackForSofa(ss)
+ + +
[docs]def getPythonCallingPointAsString(): + """returns the last entry with an "informal" formatting. """ + + ## we exclude the first level in the stack because it is the getStackForSofa() function itself. + ss=inspect.stack()[-1:] + return formatStackForSofa(ss)
+ + +
[docs]def getPythonCallingPoint(): + """returns the tupe with closest filename & line. """ + ## we exclude the first level in the stack because it is the getStackForSofa() function itself. + ss=inspect.stack()[1] + tmp=(os.path.abspath(ss[1]), ss[2]) + return tmp
+ + +############################################################################# +###################### EXCEPTION HANDLING (NECESSARY?) ###################### +############################################################################# + +
[docs]def sendMessageFromException(e): + exc_type, exc_value, exc_tb = sys.exc_info() + sofaExceptHandler(exc_type, exc_value, exc_tb)
+ + +
[docs]def sofaFormatHandler(type, value, tb): + global oldexcepthook + """This exception handler, convert python exceptions & traceback into more classical sofa error messages of the form: + Message Description + Python Stack (most recent are at the end) + File file1.py line 4 ... + File file1.py line 10 ... + File file1.py line 40 ... + File file1.py line 23 ... + faulty line + """ + s="\nPython Stack (most recent are at the end): \n" + for line in traceback.format_tb(tb): + s += line + + return repr(value)+" "+s
+ + +
[docs]def getSofaFormattedStringFromException(e): + exc_type, exc_value, exc_tb = sys.exc_info() + return sofaFormatHandler(exc_type, exc_value, exc_tb)
+ +
[docs]def sofaExceptHandler(type, value, tb): + global oldexcepthook + """This exception handler, convert python exceptions & traceback into more classical sofa error messages of the form: + Message Description + Python Stack (most recent are at the end) + File file1.py line 4 ... + File file1.py line 10 ... + File file1.py line 40 ... + File file1.py line 23 ... + faulty line + """ + h = type.__name__ + + if str(value) != '': + h += ': ' + str(value) + + s = "Traceback (most recent call last):\n" + s += ''.join(traceback.format_tb(tb)) + + Sofa.msg_error("SofaRuntime", h + '\n' + s)
+ +sys.excepthook=sofaExceptHandler +
+ +
+
+
+ +
+ +
+

© Copyright 2021, SOFA Framework.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/sphinx/build/html/_modules/index.html b/docs/sphinx/build/html/_modules/index.html new file mode 100644 index 00000000..092c2685 --- /dev/null +++ b/docs/sphinx/build/html/_modules/index.html @@ -0,0 +1,226 @@ + + + + + + Overview: module code — SofaPython3 20.12.00 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+ +
+ +
+ +
+

© Copyright 2021, SOFA Framework.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/index.rst.txt b/docs/sphinx/build/html/_sources/index.rst.txt new file mode 100644 index 00000000..f26b66ad --- /dev/null +++ b/docs/sphinx/build/html/_sources/index.rst.txt @@ -0,0 +1,26 @@ +The SofaPython3 project brings python bindings for the `SOFA simulation framework `_. +Thereby, it allows users to use most of the components and features found in SOFA directly into their python scripts. + +This project is composed of two modules: 1. a *SOFA plugin* in the *SofaPython3/Plugin/* repository and 2. several *python modules* in the *SofaPython3/bindings/* repository. + +1. The **SofaPython3 plugin** embeds a python interpreter and a SOFA scene loader. This plugin allows one to load a python +script as the main simulation scene file. The scene loader will automatically detect the ".py", ".py3", ".py3scn" or +".pyscn" file extension and load the script into the embedded python interpreter. Whereas traditional XML-based scene +file would discribe the SOFA scene structure, the python scene script will instead programmatically construct the SOFA +scene. + +2. The **SofaPython3 bindings** makes the link between the SOFA API and python. These are compiled (C++) python +modules compatible with the C-Python ABI and therefore directly accessible from any python interpreter, given +that the python version is compatible. Hence, the python interpreter embedded inside the *SofaPython3 plugin* will be able +to load these binding modules. In addition, one could load the binding modules directly inside their own python +interpreter without requiring the load of the plugin. + +.. figure:: images/SP3_global_arch.png + :alt: How SP3 fits in the SOFA usage pipeline + :align: center + :width: 400 + +.. toctree:: + + modules/index + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui.rst.txt new file mode 100644 index 00000000..8e53d28e --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui.rst.txt @@ -0,0 +1,43 @@ +.. + sub-module.rst + +Sofa.Gui +======== + +General description +------------------- + +.. automodule:: Sofa.Gui + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.Gui/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + BaseGUI + GUIManager + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.BaseGUI.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.BaseGUI.rst.txt new file mode 100644 index 00000000..43d76a1d --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.BaseGUI.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Gui.BaseGUI +================ + +.. currentmodule:: Sofa.Gui + +.. autoclass:: BaseGUI + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.GUIManager.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.GUIManager.rst.txt new file mode 100644 index 00000000..b656743b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Gui/classes/Sofa.Gui.GUIManager.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Gui.GUIManager +=================== + +.. currentmodule:: Sofa.Gui + +.. autoclass:: GUIManager + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper.rst.txt new file mode 100644 index 00000000..68ab16b7 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper.rst.txt @@ -0,0 +1,68 @@ +.. + sub-module.rst + +Sofa.Helper +=========== + +General description +------------------- + +.. automodule:: Sofa.Helper + + +API Table of Content +-------------------- + + + + + + + + + + .. rubric:: Functions + .. autosummary:: + :toctree: Sofa.Helper/functions + :nosignatures: + :template: autosummary/base.rst + + msg_deprecated + msg_error + msg_fatal + msg_info + msg_warning + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.Helper/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + MessageHandler + StdVectorBaseData + StdVectordouble + StdVectorfloat + StdVectorint + StdVectorlong + StdVectoruint + StdVectorulong + VectorBaseData + Vectordouble + Vectorfloat + Vectorint + Vectorlong + Vectoruint + Vectorulong + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.MessageHandler.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.MessageHandler.rst.txt new file mode 100644 index 00000000..c101c69b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.MessageHandler.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.MessageHandler +========================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: MessageHandler + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorBaseData.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorBaseData.rst.txt new file mode 100644 index 00000000..ab0a7d87 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorBaseData.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectorBaseData +============================= + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectorBaseData + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectordouble.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectordouble.rst.txt new file mode 100644 index 00000000..992fb5fb --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectordouble.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectordouble +=========================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectordouble + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorfloat.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorfloat.rst.txt new file mode 100644 index 00000000..2830e882 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorfloat.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectorfloat +========================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectorfloat + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorint.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorint.rst.txt new file mode 100644 index 00000000..e545a50b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorint.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectorint +======================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectorint + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorlong.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorlong.rst.txt new file mode 100644 index 00000000..cdffd735 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorlong.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectorlong +========================= + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectorlong + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectoruint.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectoruint.rst.txt new file mode 100644 index 00000000..8a4f758c --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectoruint.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectoruint +========================= + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectoruint + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorulong.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorulong.rst.txt new file mode 100644 index 00000000..35d969eb --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.StdVectorulong.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.StdVectorulong +========================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: StdVectorulong + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.VectorBaseData.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.VectorBaseData.rst.txt new file mode 100644 index 00000000..001941f8 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.VectorBaseData.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.VectorBaseData +========================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: VectorBaseData + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectordouble.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectordouble.rst.txt new file mode 100644 index 00000000..6701eca8 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectordouble.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectordouble +======================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectordouble + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorfloat.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorfloat.rst.txt new file mode 100644 index 00000000..f7143a2e --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorfloat.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectorfloat +======================= + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectorfloat + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorint.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorint.rst.txt new file mode 100644 index 00000000..9d3d9dea --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorint.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectorint +===================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectorint + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorlong.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorlong.rst.txt new file mode 100644 index 00000000..132ffa38 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorlong.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectorlong +====================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectorlong + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectoruint.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectoruint.rst.txt new file mode 100644 index 00000000..b31c6c02 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectoruint.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectoruint +====================== + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectoruint + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorulong.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorulong.rst.txt new file mode 100644 index 00000000..36523cc0 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/classes/Sofa.Helper.Vectorulong.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Helper.Vectorulong +======================= + +.. currentmodule:: Sofa.Helper + +.. autoclass:: Vectorulong + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_deprecated.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_deprecated.rst.txt new file mode 100644 index 00000000..a3e0e2b1 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_deprecated.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Helper.msg\_deprecated +=========================== + +.. currentmodule:: Sofa.Helper + +.. autofunction:: msg_deprecated \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_error.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_error.rst.txt new file mode 100644 index 00000000..d89171fe --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_error.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Helper.msg\_error +====================== + +.. currentmodule:: Sofa.Helper + +.. autofunction:: msg_error \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_fatal.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_fatal.rst.txt new file mode 100644 index 00000000..b4537ccb --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_fatal.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Helper.msg\_fatal +====================== + +.. currentmodule:: Sofa.Helper + +.. autofunction:: msg_fatal \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_info.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_info.rst.txt new file mode 100644 index 00000000..d85facd6 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_info.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Helper.msg\_info +===================== + +.. currentmodule:: Sofa.Helper + +.. autofunction:: msg_info \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_warning.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_warning.rst.txt new file mode 100644 index 00000000..37326dfe --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Helper/functions/Sofa.Helper.msg_warning.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Helper.msg\_warning +======================== + +.. currentmodule:: Sofa.Helper + +.. autofunction:: msg_warning \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation.rst.txt new file mode 100644 index 00000000..2d0f8409 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation.rst.txt @@ -0,0 +1,50 @@ +.. + sub-module.rst + +Sofa.Simulation +=============== + +General description +------------------- + +.. automodule:: Sofa.Simulation + + +API Table of Content +-------------------- + + + + + + + + + + .. rubric:: Functions + .. autosummary:: + :toctree: Sofa.Simulation/functions + :nosignatures: + :template: autosummary/base.rst + + animate + animateNSteps + init + initTextures + initVisual + load + print + reset + unload + updateVisual + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animate.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animate.rst.txt new file mode 100644 index 00000000..19bbb8a7 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animate.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.animate +======================= + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: animate \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animateNSteps.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animateNSteps.rst.txt new file mode 100644 index 00000000..1e09b818 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.animateNSteps.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.animateNSteps +============================= + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: animateNSteps \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.init.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.init.rst.txt new file mode 100644 index 00000000..c6a639a8 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.init.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.init +==================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: init \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initTextures.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initTextures.rst.txt new file mode 100644 index 00000000..c8ea1516 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initTextures.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.initTextures +============================ + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: initTextures \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initVisual.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initVisual.rst.txt new file mode 100644 index 00000000..c6d54198 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.initVisual.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.initVisual +========================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: initVisual \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.load.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.load.rst.txt new file mode 100644 index 00000000..963b69bb --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.load.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.load +==================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: load \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.print.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.print.rst.txt new file mode 100644 index 00000000..26f26390 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.print.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.print +===================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: print \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.reset.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.reset.rst.txt new file mode 100644 index 00000000..326729af --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.reset.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.reset +===================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: reset \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.unload.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.unload.rst.txt new file mode 100644 index 00000000..63bfec2b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.unload.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.unload +====================== + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: unload \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.updateVisual.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.updateVisual.rst.txt new file mode 100644 index 00000000..cb9a7441 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Simulation/functions/Sofa.Simulation.updateVisual.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.Simulation.updateVisual +============================ + +.. currentmodule:: Sofa.Simulation + +.. autofunction:: updateVisual \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology.rst.txt new file mode 100644 index 00000000..8688e000 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology.rst.txt @@ -0,0 +1,43 @@ +.. + sub-module.rst + +Sofa.SofaBaseTopology +===================== + +General description +------------------- + +.. automodule:: Sofa.SofaBaseTopology + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.SofaBaseTopology/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + RegularGridTopology + SparseGridTopology + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.RegularGridTopology.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.RegularGridTopology.rst.txt new file mode 100644 index 00000000..6d7bbfbc --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.RegularGridTopology.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaBaseTopology.RegularGridTopology +========================================= + +.. currentmodule:: Sofa.SofaBaseTopology + +.. autoclass:: RegularGridTopology + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.SparseGridTopology.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.SparseGridTopology.rst.txt new file mode 100644 index 00000000..5f4e6fdd --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaBaseTopology/classes/Sofa.SofaBaseTopology.SparseGridTopology.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaBaseTopology.SparseGridTopology +======================================== + +.. currentmodule:: Sofa.SofaBaseTopology + +.. autoclass:: SparseGridTopology + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver.rst.txt new file mode 100644 index 00000000..cee93837 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver.rst.txt @@ -0,0 +1,42 @@ +.. + sub-module.rst + +Sofa.SofaConstraintSolver +========================= + +General description +------------------- + +.. automodule:: Sofa.SofaConstraintSolver + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.SofaConstraintSolver/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + ConstraintSolverImpl + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.rst.txt new file mode 100644 index 00000000..ad540ad1 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaConstraintSolver.ConstraintSolverImpl +============================================== + +.. currentmodule:: Sofa.SofaConstraintSolver + +.. autoclass:: ConstraintSolverImpl + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable.rst.txt new file mode 100644 index 00000000..48fae1dd --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable.rst.txt @@ -0,0 +1,47 @@ +.. + sub-module.rst + +Sofa.SofaDeformable +=================== + +General description +------------------- + +.. automodule:: Sofa.SofaDeformable + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.SofaDeformable/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + LinearSpring + SpringForceField_Rigid3d + SpringForceField_Vec1d + SpringForceField_Vec2d + SpringForceField_Vec3d + SpringForceField_Vec6d + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.rst.txt new file mode 100644 index 00000000..190fdd05 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.LinearSpring +================================ + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: LinearSpring + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.rst.txt new file mode 100644 index 00000000..e4c9f41f --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.SpringForceField\_Rigid3d +============================================= + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: SpringForceField_Rigid3d + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec1d.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec1d.rst.txt new file mode 100644 index 00000000..1a43e247 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec1d.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.SpringForceField\_Vec1d +=========================================== + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: SpringForceField_Vec1d + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec2d.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec2d.rst.txt new file mode 100644 index 00000000..cf8ee57e --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec2d.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.SpringForceField\_Vec2d +=========================================== + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: SpringForceField_Vec2d + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec3d.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec3d.rst.txt new file mode 100644 index 00000000..4f195403 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec3d.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.SpringForceField\_Vec3d +=========================================== + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: SpringForceField_Vec3d + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec6d.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec6d.rst.txt new file mode 100644 index 00000000..f13788ce --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Vec6d.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.SofaDeformable.SpringForceField\_Vec6d +=========================================== + +.. currentmodule:: Sofa.SofaDeformable + +.. autoclass:: SpringForceField_Vec6d + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL.rst.txt new file mode 100644 index 00000000..87ef02c4 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL.rst.txt @@ -0,0 +1,42 @@ +.. + sub-module.rst + +Sofa.SofaGL +=========== + +General description +------------------- + +.. automodule:: Sofa.SofaGL + + +API Table of Content +-------------------- + + + + + + + + + + .. rubric:: Functions + .. autosummary:: + :toctree: Sofa.SofaGL/functions + :nosignatures: + :template: autosummary/base.rst + + draw + glewInit + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.rst.txt new file mode 100644 index 00000000..a67d35d7 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.SofaGL.draw +================ + +.. currentmodule:: Sofa.SofaGL + +.. autofunction:: draw \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.rst.txt new file mode 100644 index 00000000..e99dc8b8 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.SofaGL.glewInit +==================== + +.. currentmodule:: Sofa.SofaGL + +.. autofunction:: glewInit \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes.rst.txt new file mode 100644 index 00000000..e1f17825 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes.rst.txt @@ -0,0 +1,39 @@ +.. + sub-module.rst + +Sofa.SofaTypes +============== + +General description +------------------- + +.. automodule:: Sofa.SofaTypes + + +API Table of Content +-------------------- + + + + .. rubric:: Sub-modules + .. autosummary:: + :toctree: Sofa.SofaTypes/submodules + + Sofa.SofaTypes.SofaTypes + + + + + + + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.rst.txt new file mode 100644 index 00000000..b0a665de --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.rst.txt @@ -0,0 +1,58 @@ +Sofa.SofaTypes.SofaTypes +======================== + +.. automodule:: Sofa.SofaTypes.SofaTypes + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + + Mat1x1 + Mat2x2 + Mat3x3 + Mat3x4 + Mat4x4 + Quat + Vec10d + Vec10i + Vec11d + Vec11i + Vec12d + Vec12i + Vec1d + Vec1i + Vec2d + Vec2i + Vec3d + Vec3i + Vec4d + Vec4i + Vec5d + Vec5i + Vec6d + Vec6i + Vec7d + Vec7i + Vec8d + Vec8i + Vec9d + Vec9i + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types.rst.txt new file mode 100644 index 00000000..4835ab76 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types.rst.txt @@ -0,0 +1,42 @@ +.. + sub-module.rst + +Sofa.Types +========== + +General description +------------------- + +.. automodule:: Sofa.Types + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.Types/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + BoundingBox + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.rst.txt new file mode 100644 index 00000000..9e4a298c --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.Types.BoundingBox +====================== + +.. currentmodule:: Sofa.Types + +.. autoclass:: BoundingBox + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants.rst.txt new file mode 100644 index 00000000..3188ef4e --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants.rst.txt @@ -0,0 +1,40 @@ +.. + sub-module.rst + +Sofa.constants +============== + +General description +------------------- + +.. automodule:: Sofa.constants + + +API Table of Content +-------------------- + + + + .. rubric:: Sub-modules + .. autosummary:: + :toctree: Sofa.constants/submodules + + Sofa.constants.KeyCode + Sofa.constants.Key + + + + + + + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.rst.txt new file mode 100644 index 00000000..f4ed05ce --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.rst.txt @@ -0,0 +1,23 @@ +Sofa.constants.Key +================== + +.. automodule:: Sofa.constants.Key + + + + + + + + + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.rst.txt new file mode 100644 index 00000000..5681f019 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.rst.txt @@ -0,0 +1,23 @@ +Sofa.constants.KeyCode +====================== + +.. automodule:: Sofa.constants.KeyCode + + + + + + + + + + + + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_deprecated.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_deprecated.rst.txt new file mode 100644 index 00000000..44f31d53 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_deprecated.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.msg\_deprecated +==================== + +.. currentmodule:: Sofa + +.. autofunction:: msg_deprecated \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_error.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_error.rst.txt new file mode 100644 index 00000000..ea7dd9a9 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_error.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.msg\_error +=============== + +.. currentmodule:: Sofa + +.. autofunction:: msg_error \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_info.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_info.rst.txt new file mode 100644 index 00000000..0dab1172 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_info.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.msg\_info +============== + +.. currentmodule:: Sofa + +.. autofunction:: msg_info \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_warning.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_warning.rst.txt new file mode 100644 index 00000000..5ec0141a --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.msg_warning.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +Sofa.msg\_warning +================= + +.. currentmodule:: Sofa + +.. autofunction:: msg_warning \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab.rst.txt new file mode 100644 index 00000000..df14eaba --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab.rst.txt @@ -0,0 +1,42 @@ +.. + sub-module.rst + +Sofa.prefab +=========== + +General description +------------------- + +.. automodule:: Sofa.prefab + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: Sofa.prefab/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + Prefab + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.rst.txt new file mode 100644 index 00000000..8a6e3b30 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +Sofa.prefab.Prefab +================== + +.. currentmodule:: Sofa.prefab + +.. autoclass:: Prefab + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/Sofa/index.rst.txt b/docs/sphinx/build/html/_sources/modules/Sofa/index.rst.txt new file mode 100644 index 00000000..6467db98 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/Sofa/index.rst.txt @@ -0,0 +1,45 @@ +Sofa +==== + +.. currentmodule:: Sofa + +.. automodule:: Sofa + +Sub-modules +----------- +.. autosummary:: + :toctree: generated + :template: autosummary/sub-modules.rst + :recursive: + + Simulation + Gui + Helper + Types + SofaTypes + prefab + constants + +Utility Functions +----------------- +.. autosummary:: + :toctree: generated + :template: autosummary/base.rst + :recursive: + + msg_error + msg_info + msg_warning + msg_deprecated + +Plugins +------- +.. autosummary:: + :toctree: generated + :template: autosummary/sub-modules.rst + :recursive: + + SofaBaseTopology + SofaConstraintSolver + SofaDeformable + SofaGL \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter.rst.txt new file mode 100644 index 00000000..a92787f1 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter.rst.txt @@ -0,0 +1,43 @@ +.. + sub-module.rst + +SofaExporter +============ + +General description +------------------- + +.. automodule:: SofaExporter + + +API Table of Content +-------------------- + + + + + + + + + + + + + .. rubric:: Classes + .. autosummary:: + :toctree: SofaExporter/classes + :nosignatures: + :template: autosummary/class.rst + :recursive: + + STLExporter + VisualModelOBJExporter + + + + + + + + diff --git a/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.rst.txt new file mode 100644 index 00000000..85be3f9b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +SofaExporter.STLExporter +======================== + +.. currentmodule:: SofaExporter + +.. autoclass:: STLExporter + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.VisualModelOBJExporter.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.VisualModelOBJExporter.rst.txt new file mode 100644 index 00000000..29dc2c89 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.VisualModelOBJExporter.rst.txt @@ -0,0 +1,15 @@ +.. + class.rst + +SofaExporter.VisualModelOBJExporter +=================================== + +.. currentmodule:: SofaExporter + +.. autoclass:: VisualModelOBJExporter + :members: + :inherited-members: + :show-inheritance: + + + diff --git a/docs/sphinx/build/html/_sources/modules/SofaExporter/index.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaExporter/index.rst.txt new file mode 100644 index 00000000..22079a0b --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaExporter/index.rst.txt @@ -0,0 +1,6 @@ +.. autosummary:: + :toctree: generated + :template: autosummary/sub-modules.rst + :recursive: + + SofaExporter \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.rst.txt new file mode 100644 index 00000000..cc9f2410 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.formatStackForSofa +============================== + +.. currentmodule:: SofaRuntime + +.. autofunction:: formatStackForSofa \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.rst.txt new file mode 100644 index 00000000..a03ca0fb --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.getPythonCallingPoint +================================= + +.. currentmodule:: SofaRuntime + +.. autofunction:: getPythonCallingPoint \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.rst.txt new file mode 100644 index 00000000..890267a1 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.getPythonCallingPointAsString +========================================= + +.. currentmodule:: SofaRuntime + +.. autofunction:: getPythonCallingPointAsString \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.rst.txt new file mode 100644 index 00000000..3b599715 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.getSofaFormattedStringFromException +=============================================== + +.. currentmodule:: SofaRuntime + +.. autofunction:: getSofaFormattedStringFromException \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.rst.txt new file mode 100644 index 00000000..960b44de --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.getStackForSofa +=========================== + +.. currentmodule:: SofaRuntime + +.. autofunction:: getStackForSofa \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.importPlugin.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.importPlugin.rst.txt new file mode 100644 index 00000000..86558940 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.importPlugin.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.importPlugin +======================== + +.. currentmodule:: SofaRuntime + +.. autofunction:: importPlugin \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.rst.txt new file mode 100644 index 00000000..e2b82ee0 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.sendMessageFromException +==================================== + +.. currentmodule:: SofaRuntime + +.. autofunction:: sendMessageFromException \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.rst.txt new file mode 100644 index 00000000..890a6952 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.sofaExceptHandler +============================= + +.. currentmodule:: SofaRuntime + +.. autofunction:: sofaExceptHandler \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.rst.txt new file mode 100644 index 00000000..b48d1ff1 --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.sofaFormatHandler +============================= + +.. currentmodule:: SofaRuntime + +.. autofunction:: sofaFormatHandler \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.unloadModules.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.unloadModules.rst.txt new file mode 100644 index 00000000..7308553d --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/generated/SofaRuntime.unloadModules.rst.txt @@ -0,0 +1,9 @@ +.. + base.rst + +SofaRuntime.unloadModules +========================= + +.. currentmodule:: SofaRuntime + +.. autofunction:: unloadModules \ No newline at end of file diff --git a/docs/sphinx/build/html/_sources/modules/SofaRuntime/index.rst.txt b/docs/sphinx/build/html/_sources/modules/SofaRuntime/index.rst.txt new file mode 100644 index 00000000..45015fcf --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/SofaRuntime/index.rst.txt @@ -0,0 +1,25 @@ +SofaRuntime +=========== + +.. currentmodule:: SofaRuntime + +.. automodule:: SofaRuntime + +API Table of Content +-------------------- + +.. autosummary:: + :toctree: generated + :template: autosummary/base.rst + :recursive: + + importPlugin + unloadModules + formatStackForSofa + getStackForSofa + getPythonCallingPointAsString + getPythonCallingPoint + sendMessageFromException + sofaFormatHandler + sofaExceptHandler + getSofaFormattedStringFromException diff --git a/docs/sphinx/build/html/_sources/modules/index.rst.txt b/docs/sphinx/build/html/_sources/modules/index.rst.txt new file mode 100644 index 00000000..3ac0723c --- /dev/null +++ b/docs/sphinx/build/html/_sources/modules/index.rst.txt @@ -0,0 +1,10 @@ +Modules +======= + +.. toctree:: + :maxdepth: 10 + + Sofa/index + SofaExporter/index + SofaRuntime/index + diff --git a/docs/sphinx/build/html/_static/basic.css b/docs/sphinx/build/html/_static/basic.css new file mode 100644 index 00000000..7577acb1 --- /dev/null +++ b/docs/sphinx/build/html/_static/basic.css @@ -0,0 +1,903 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/sphinx/build/html/_static/contentui.css b/docs/sphinx/build/html/_static/contentui.css new file mode 100644 index 00000000..80d42ef4 --- /dev/null +++ b/docs/sphinx/build/html/_static/contentui.css @@ -0,0 +1,133 @@ +/* + * right column for sphinx_rtd_theme + */ +.clear { + clear: both; +} + +@media screen and (min-width: 1300px) { + .wy-nav-content { + max-width: none; + } + + .with-columns .wy-nav-content { + background: linear-gradient(90deg, #fcfcfc 52%, #eeeeee 52%); + } + + .with-columns .wy-nav-content .wy-breadcrumbs , + .with-columns .section > h1, + .with-columns .section > h2, + .with-columns .section > h3, + .with-columns footer { + width: 50%; + } + + .with-columns .section { + clear: both; + } + + .left-col.container { + float: left; + width: 50%; + margin-right: 4%; + } + + .right-col.container { + float: left; + width: 45%; + } + + /* + * tab selector fixed in top + */ + .with-columns .contenttab-selector.in-right-col { + display: block; + position: fixed; + top: 0; + right: 0; + width: calc(48% - 144px); + background: #444; + padding: 5px 10px; + } + +} + +/** + * + */ +.toggle-tab { + margin-bottom: 40px; +} + +.toggle-header { + display: block; + clear: both; + cursor: pointer; +} +.toggle-header p {display: inline; } +.toggle-header strong {color: #2980b9 } + +.toggle-header:after { + content: " ▼"; +} + +.toggle-header.open:after { + content: " ▲"; +} + +.toggle-content { + display: none; + margin-bottom: 20px; +} + +/* + * tab menu + */ +ul.contenttab-selector { + display:block; + list-style-type: none; + margin: 0 0 10px; + padding: 0; + line-height: normal; + overflow: auto; +} +ul.contenttab-selector li { + display: block; + cursor: pointer; + font-weight: bold; + margin: 0 5px 0 0; + padding: 5px 10px; + float: left; + background-color: #999; + color: #fff; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; + -khtml-border-radius: 5px; +} +.rst-content .section ul.contenttab-selector, +.rst-content .toctree-wrapper ul.contenttab-selector, +article ul.contenttab-selector{ + line-height: normal; + margin: 0 0 10px; +} +.rst-content .section ul.contenttab-selector li, +.rst-content .toctree-wrapper ul.contenttab-selector li, +article ul.contenttab-selector li{ + margin-left: 0; +} +ul.contenttab-selector li:hover { + background-color: #777; +} +ul.contenttab-selector li.selected { + background-color: #2980b9; +} +ul.contenttab-selector li.selected:hover { + background-color: #333; +} +.content-tabs { + margin: 10px 0 20px 0; +} +.tab-content { + clear: both; +} diff --git a/docs/sphinx/build/html/_static/contentui.js b/docs/sphinx/build/html/_static/contentui.js new file mode 100644 index 00000000..f9515cfd --- /dev/null +++ b/docs/sphinx/build/html/_static/contentui.js @@ -0,0 +1,74 @@ + +$(function() { + /* + * Right column logic + */ + if ($(".right-col").length) { + $(".right-col").after('
'); + $(".right-col").parents('body').addClass('with-columns'); + } + + /** + * Toggle logic + */ + $('.toggle-content').hide() + $('.toggle-header').click(function () { + $(this).toggleClass("open"); + $(this).next('.toggle-content').toggle('400'); + }) + + /** + * Dynamic multiple content block. + */ + var top_sel = {} + + $('div.content-tabs').each(function() { + var contenttab_sel = $(' +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.html index 8822855c..089fa67e 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaConstraintSolver/classes/Sofa.SofaConstraintSolver.ConstraintSolverImpl.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.html index a589f4c0..b522ce04 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.LinearSpring.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.html index 7f2a0e9f..e6f99f6d 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaDeformable/classes/Sofa.SofaDeformable.SpringForceField_Rigid3d.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.html index 0ab3fb86..46c72bfe 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.draw.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • @@ -199,7 +243,7 @@

      Sofa.SofaGL.draw

      -Sofa.SofaGL.draw(arg0: Sofa.Core.Node) None
      +Sofa.SofaGL.draw(arg0: Sofa.Core.Node) None

      Draw the openGL visual loop from the provided Node. :param node: Node to start visualize from :type node: Sofa::Simulation::Node

      diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.html index 30a3c986..ff6888d2 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaGL/functions/Sofa.SofaGL.glewInit.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes.html index d8de060d..3e159ab1 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.html b/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.html index d52420ba..e3e5b414 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.SofaTypes/submodules/Sofa.SofaTypes.SofaTypes.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.Types.html b/docs/html/content/modules/Sofa/generated/Sofa.Types.html index 0af89a21..cb9fe981 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.Types.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.Types.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.html b/docs/html/content/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.html index cd366e61..e9576949 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.Types/classes/Sofa.Types.BoundingBox.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.html b/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.html index 0f5318c6..f9fd6560 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.Key.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.html b/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.html index 1d0f79cf..bb2b41fd 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.constants/submodules/Sofa.constants.KeyCode.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.msg_deprecated.html b/docs/html/content/modules/Sofa/generated/Sofa.msg_deprecated.html index 0f571b9f..daa2e7ff 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.msg_deprecated.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.msg_deprecated.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.msg_error.html b/docs/html/content/modules/Sofa/generated/Sofa.msg_error.html index 0e5ea75f..5050e3c8 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.msg_error.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.msg_error.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.msg_info.html b/docs/html/content/modules/Sofa/generated/Sofa.msg_info.html index 4f878d1f..f25c9ecd 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.msg_info.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.msg_info.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.msg_warning.html b/docs/html/content/modules/Sofa/generated/Sofa.msg_warning.html index 0d59cdb0..83c4242c 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.msg_warning.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.msg_warning.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.prefab.html b/docs/html/content/modules/Sofa/generated/Sofa.prefab.html index 03379a89..2ca2c0d1 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.prefab.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.prefab.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.html b/docs/html/content/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.html index f1db3bbb..78ec343c 100644 --- a/docs/html/content/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.html +++ b/docs/html/content/modules/Sofa/generated/Sofa.prefab/classes/Sofa.prefab.Prefab.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • @@ -229,22 +273,25 @@

      Sub-modules

      Gui

      +

      Core

      +

      The general object hierarchy and data structures.

      + +

      Gui

      Control the graphical user interface

      -

      Helper

      +

      Helper

      Tooling to print messages or create vectors of different type.

      -

      Types

      +

      Types

      Sofa types

      -

      SofaTypes

      +

      SofaTypes

      SofaType package

      -

      prefab

      +

      prefab

      -

      constants

      +

      constants

      Constants library Library for an easier keyboard interaction

      diff --git a/docs/html/content/modules/SofaExporter/generated/SofaExporter.html b/docs/html/content/modules/SofaExporter/generated/SofaExporter.html index 74201fc0..6df45475 100644 --- a/docs/html/content/modules/SofaExporter/generated/SofaExporter.html +++ b/docs/html/content/modules/SofaExporter/generated/SofaExporter.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.html b/docs/html/content/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.html index 46936ce1..548c0288 100644 --- a/docs/html/content/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.html +++ b/docs/html/content/modules/SofaExporter/generated/SofaExporter/classes/SofaExporter.STLExporter.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.html index c5e28caa..cad7dd9f 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.formatStackForSofa.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.html index 1c4bb1f4..5c1fdaa9 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPoint.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.html index 0d66a569..37e565c7 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getPythonCallingPointAsString.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.html index 5ed4160e..ab96b425 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getSofaFormattedStringFromException.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.html index 75d2760f..9914d6f6 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.getStackForSofa.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.importPlugin.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.importPlugin.html index cdabe1d5..87155dba 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.importPlugin.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.importPlugin.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.html index 067db082..f281bbbe 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sendMessageFromException.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.html index e688ead5..743e25c6 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaExceptHandler.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.html index df7b0f90..4c5d64e8 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.sofaFormatHandler.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.unloadModules.html b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.unloadModules.html index 5516c479..c67423a3 100644 --- a/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.unloadModules.html +++ b/docs/html/content/modules/SofaRuntime/generated/SofaRuntime.unloadModules.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
    • Sofa.Gui.BaseGUI
    • Sofa.Gui.GUIManager
    • diff --git a/docs/html/content/modules/SofaRuntime/index.html b/docs/html/content/modules/SofaRuntime/index.html index c1def95b..6d8af0ce 100644 --- a/docs/html/content/modules/SofaRuntime/index.html +++ b/docs/html/content/modules/SofaRuntime/index.html @@ -68,6 +68,50 @@
    • Sofa.Simulation.updateVisual
  • +
  • Sofa.Core +
  • Sofa.Gui
  • +
  • Sofa.Core +
  • Sofa.Gui