This repository has been archived by the owner on Dec 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSimpleGUI.dox
45 lines (30 loc) · 1.63 KB
/
SimpleGUI.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/** @mainpage SimpleGUI - A simplified GUI for Sofa
This plugin proposes a simple API to include Sofa in a graphics interface:
- The @link sofa#simplegui#SofaScene SofaScene@endlink class provides
a callback-level API: init, draw, animate.
- The @link sofa#simplegui#SofaGL SofaGL@endlink class allows drawing and
picking in OpenGL viewers.
- A choice of Interactor objects allow the user to manipulate the simulation.
The main differences with the standard Sofa GUI are:
- The main loop is controlled by the user application
- No viewer nor camera are provided, but helpers are available in SofaGL
- Picking simply returns basic information about the particle under the cursor:
PickedPoint. Based on this, it is the application's job to create, manage and
delete Interactor objects.
<h3>Examples</h3>
- `glutOnePick`: A Sofa simulation within a basic Glut interface. The user can
click and drag one point at a time to interact with the simulaton.
- `qtSofa`: A Sofa simulation within a basic Qt interface. The user can click and
drag multiple points.
- `qtSofa/qtSofa.pro`: Project file for the same application, built as an
application which is not a sub-project of Sofa. See comments inside.
- `qtQuickSofa`: A Sofa simulation within a QtQuick interface. Not yet mature, may
be temporarily disabled.
<h3>Dependencies</h3>
- Qt > 5.0 is necessary for qtQuickSofa
<h3>Issues</h3>
- Currently there is no way to create interactors in plugins. They are created
by the user application.
- The application built using qtSofa/qtSofa.pro crashes at scene creation time,
while the same code running as a Sofa sub-project works fine.
*/