Modeler
From SOFAWiki
Contents |
What is the Modeler
The Modeler is a graphic tool using Qt, designed to ease the creation of scenes for Sofa, and also to provide information of all the contents available, and how to use them. It allows you to dynamically create/remove/configure components inside the Sofa scene graph, and launch the Sofa application to see directly what behaviour you get. Once you are satisfied, you can save your scene graph to a xml file, and use it later within Sofa.
Main Features
Go here http://www.youtube.com/watch?v=IFzNY45z2lY to see a demonstration of several basic features of the Modeler.
Scene Graph
- Load all .scn files, display their scene graph, and allow you to modify each component
- Launch the scene currently being built in Sofa, directly from the Modeler (using runSofa in the main menu, or CTRL+R)
- Presets: this is one of the most useful feature, we'll go more into details later, but basically, it allows someone with absolutly no knowledge of Sofa to create a deformable/rigid body using a 3D mesh, in only 3 clicks!
Right click on a node of the scene graph, and a menu should propose you several options for preset objects: deformable, or rigid. You only have to specify a file containing the 3D models used, an initial position, rotation and scale, that's it.
Library
- Display all the components available in SOFA: in the left part of the application, you can find a library of components, sorted into categories
- Filter the components using a keyword: entering the text Triangle in the filter zone will reduce the library to the only components containing the word Triangle in their name.
Documentation
By clicking on a component, in the library, or in the scene graph will display some information about it
- Inheritance
- Description
- Namespace
- Authors
- Licence
- some examples scenes. They are displayed as links, by clicking on them, you directly open them inside the Modeler: simply press CTRL+R and you test the scene.
A Tutorial application is integrated in the Modeler, and should help new comers to understand some concepts intensively used in Sofa like Mappings, ForceFields, Topologies...
Flexibility
- Each component of the library is a button: by drag&dropping them in a node of the scene graph, you actually add it to the simulation.
- First Click on the component,
- Keep the mouse button down, move your cursor at the place where your want to place your new component
- If you drop (release the mouse button) above a node, the component will be placed after all the current Sofa component of the node
- If you drop above a component, it will be placed above this component.
- Each component of the library is a button: by drag&dropping them in a node of the scene graph, you actually add it to the simulation.
- Save the scene or a node
- Copy/Paste of a node or a component
- Delete a component or a node from the scene graph by pressing DEL
- Undo/Redo
- Error detection: errors on template are automatically detected and displayed to the user
The goal of the Modeler is to turn you ACTIVE in the understanding of Sofa. Try any scene you want, modify the components, add some, delete others, then CTRL+R, and you try it in SOFA. You don't need anymore to know by heart the name of all the components, and their parameters, just drag&drop them from the library to the scene graph, and edit them. This can be done, just like inside the SOFA main application by double-clicking on the component in the scene graph.


