Skip to content

Transcription of SofaPython2 splib elements#2

Open
EtienneMenager wants to merge 1090 commits intotgaugry:masterfrom
sofa-framework:master
Open

Transcription of SofaPython2 splib elements#2
EtienneMenager wants to merge 1090 commits intotgaugry:masterfrom
sofa-framework:master

Conversation

@EtienneMenager
Copy link

I had to use the Trunk and Tripod scenes from the Softrobots tutorials with SofaPython3. They used elements from the SofaPython2 splib that I modified a little bit to make them work with SofaPython3.

splib_elements.zip

@EtienneMenager
Copy link
Author

Sorry, I am not used with git. I will start from the latest version of the master and make my changes before submitting these changes again.

hugtalbot referenced this pull request in hugtalbot/SofaPython3 Dec 16, 2020
Adds a modules for meshing with CGAL and Gmsh.
Adds a file caching module.

Co-authored-by: Stefan Escaida Navarro <stefan.escaida-navarro@inria.fr>
Co-authored-by: Jean-Nicolas <jnbrunet2000@gmail.com>
@guparan guparan force-pushed the master branch 2 times, most recently from 958db38 to 603d457 Compare April 2, 2022 05:05
guparan and others added 26 commits June 21, 2022 16:39
Co-authored-by: Alex Bilger <alxbilger@users.noreply.github.com>
Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
* Catch exception if Sofa cannot be imported

* Surround python code by try catch

* Remove not-Python functions

* Remove redundant gil locks
Add bindings for matrix access
…d-in-pr243

[SofaPyhon3/Plugin] Fix regression introduced in PR #243
[Sofa.Prefab] Replace Sofa.Prefab "properties"
In python3 the path are not absolute so it is needed to ask for.
[FIX] Remove SofaLinearSolver in BindingsConfig.cmake.in
[FIX] The callpoint api is broken since SofaPython3.
[CMake] Remove hardcoded include directory
Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
Bindings to access matrices from force fields and masses
* make it compile wo compat

* fix tests & co

* fix tests & co 2

* fix tests & co 3

* remove unnecessary inits

* replace collision response string in scenes

* correct indentation (use spaces instead of tabs)

* add v2206 compilation for GA CI

* apply suggestions (edit cmake.in files to reflect changes)

* Update Bindings.SofaRuntimeConfig.cmake.in

Co-authored-by: Guillaume Paran <guillaume.paran@sofa-framework.org>
…on environment (BUGFIX)

The execution of Sofa from a python3 environement is not working anymore because
some features need Sofa & SofaRuntime modules to be loaded but the loading is done when
initializing only in the embeded python interpreter.

To fix this, the PR move the module loading and access into its own singleton that initialize at
first use.

Fixing that is important for 22.06 release.
For the future, refactoring the PythonEnvironment file to split PythonEnvironment in two, to separate what is actually relevant for the PythonEnvironment and what
should be part something like PythonEmbededInterpreter.
[Sofa.Gui] Fix macro to enable qt.conf
So the string returned is now "Prefab" instead of "Node".
hugtalbot and others added 30 commits July 24, 2025 17:50
* [doc] Fix links in FirstSteps

* help readibility
* [Examples] Add a script to access contact forces

* Apply suggestions from code review

Co-authored-by: Damien Marchal <damien.marchal@univ-lille1.fr>

* use VisualVectorField to render contact forces and take other reviews into account

* add comments

---------

Co-authored-by: Damien Marchal <damien.marchal@univ-lille1.fr>
* Add init with kwargs for Node that allow to pass data values as input

* Make a generic function out the code that set data from kwarg so tthis can be applid to all objects

* Add unit test for kwargs

---------

Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
* Add RPyC server/client and examples

* Apply suggestions from code review

Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>

---------

Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
* Propagates the removale of DAGNode and DAGSimulation

* Fix constructor build issue.
* Add binding for Controller::draw() and drawTools()

So it become possible to draw from python.

* Add drawFrames, drawLines, drawPoints and an example

* Add drawFrame(Data<std::vector<Rigid3Coord>>)

So we can print all the dof of a mechanical object without copy

* Cosmetic improvement of Binding_VisualParams

* Add binding for DrawTool::drawText

* [Sofa.Types] Add RGBAColor binding & tests

* FIXUP

* Separate DrawTool from VisualParam

* Add support for non Vec3d arguments.

* Update example and add BaseData support for drawLines

* Add enable/disableLighting, drawDisk, drawCircle, drawTriangles, drawQuads

* improve example.

* add variation on drawTriangle/drawQuads

* Reset python version 3.7

* Add documentation
According to discussion with @emmanuelha
… == 'win32'` to improve readability and robustness. Added helper functions to reduce duplication and handle missing SOFAPYTHON3_ROOT safely. Maintained existing behavior while preventing potential crashes and improving compatibility. (#539)
Currently the controllers implemented in python cannot report the the event processing
system in sofa that there is no need anymore to process the event.

The PR allows to do. Every onXXXXXX() that implement an event processor can no return a value.
If it is None or False then processing of event use this to continue the propagation
If it is True (aka: has been processed/no more further), then the SOFA system will not proposed to other component to process the same event
Because currently only Rigid3::VecCoord was supported.
#541)

* Add validation for numpy array as return type in AddKToMatrix bindings

* Refactor AddKToMatrix return type validation and simplify conditional checks
Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
* Support more types of linear systems

* add support for BTD
This allows to use with statment to have good looking indentation in sofa scene.
eg:
with Node("YOLO") as w:
	w.addObject("YY")
* Improve error message when the SetDataFromArray does not match

* Apply suggestions from code review

---------

Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
* Add example scene using CCDTightInclusion

* Replace ProjectedGaussSeidel with BlockGaussSeidel

* Fix scene error
Co-authored-by: hugtalbot <hugo.talbot@inria.fr>
Co-authored-by: hugtalbot <hugo.talbot@inria.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.