Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[examples] Add proposition for a new default scene #5177

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

bakpaul
Copy link
Contributor

@bakpaul bakpaul commented Dec 20, 2024

This pr adds a new scene in the Demo folder. This is a proposition for a new default scene.
This works has been started here : https://github.com/bakpaul/TestScenes/tree/main/Experimental and is a joint work between myself and @hugtalbot

The main idea behind this scene is to show a lot of features offered by SOFA:

  1. Solvers
    • EigenSimplicialLDLT
    • EigenSparseLU
    • ConstantSparsityPatternSystem
  2. BeamAdapter
  3. Tetrahedron FEM
  4. Hexaedron FEM
  5. Lagrangian-based constraints
    • FrictionContactConstraint
    • BilateralLagrangianConstraint
    • LinearSolverConstraintCorrection
    • UncoupledConstraintCorrection
    • PointCollisionModel
    • LineCollisionModel
    • ShpereCollisionModel
  6. SparseGridRamificationTopology
  7. Rigid bodies (See F) + simple collision model

Having this scene by default would force to build BeamAdapter by default.
The scene work fine when using Qt-based GUI, but mouse interaction crashes the scene when using ImGUI-based GUI.
--> an issue needs to be added in SofaGLFW as soon as this PR is accepted.

SOFA_New_default_scene


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@bakpaul bakpaul added pr: status to review To notify reviewers to review this pull-request pr: new feature Implement a new feature pr: highlighted in next release Highlight this contribution in the notes of the upcoming release topic for next dev-meeting PR to be discussed in sofa-dev meeting labels Dec 20, 2024
@bakpaul bakpaul added this to the v25.06 milestone Dec 20, 2024
@bakpaul
Copy link
Contributor Author

bakpaul commented Dec 20, 2024

I was thinking that we could inflate the center of the logo by inflating it using PresureChamberConstraint from SoftRobots plugin. But again, this would require to build it by default. I don't know if we want that.

@bakpaul
Copy link
Contributor Author

bakpaul commented Dec 20, 2024

And if we agree to load SofaPython3 by default, we could even add a controller that would for instance control the length of a cable actuator that compresses the O to make it look like an ellipse --> more fun + more features

<BackgroundSetting color="0.8 0.8 0.8 1" />

<!-- Define Mouse left click as a Bilateral Lagrangian constraint -->
<ConstraintAttachButtonSetting /> <!-- The presence of this component sets the mouse interaction to Lagrangian-based constraints at the GUI launch -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has not been tested on imgui. I guess this is why it does not work. A work has been started to support all kind of interactions: sofa-framework/SofaGLFW#129

@alxbilger
Copy link
Contributor

Maybe we can also think about improving the visuals? For example, we can add a skybox (see #2678), shaders and shadows.

@hugtalbot hugtalbot removed the topic for next dev-meeting PR to be discussed in sofa-dev meeting label Jan 10, 2025
@bakpaul
Copy link
Contributor Author

bakpaul commented Jan 16, 2025

Regarding comments in SOFA-dev meeting: let's add this scene in the Demo folder without changing the default scene for now. But let's keep in mind that we don't want to keep caduceus as the default scene. I'll revert some changes and change the name of the PR.

As a recall, we intend to make it the default scene at one point but two issues are still pending :
1- The need to make BeamAdapter as auto fetched.
2- The need to have a config file allowing to change this default scene on our computer

@bakpaul bakpaul changed the title [runSofa] Change default scene [examples] Add proposition for a new default scene Jan 16, 2025
@bakpaul bakpaul removed the pr: highlighted in next release Highlight this contribution in the notes of the upcoming release label Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: new feature Implement a new feature pr: status to review To notify reviewers to review this pull-request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

3 participants