README.adoc 3.44 KB
Newer Older
Gauthier Quesnel's avatar
Gauthier Quesnel committed
1
2
3
4
5
6
7
8
= Irritator
Gauthier Quesnel <gauthier.quesnel@inrae.fr>
v0.1.0, 2020-xx-xx
:toc:
:homepage: https://github.com/quesnel/irritator/

[width="15%"]
|============
9
| https://travis-ci.org/vle-forge/irritator[image:https://travis-ci.org/vle-forge/irritator.png?branch=master[Build Status]] | https://ci.appveyor.com/project/vle-forge/irritator?branch=master[image:https://ci.appveyor.com/api/projects/status/github/vle-forge/irritator?branch=master&svg=true[Build Status]] | https://codecov.io/gh/vle-forge/irritator[image:https://codecov.io/gh/vle-forge/irritator/branch/irritator-0.5/graph/badge.svg[Coverage Status]]
Gauthier Quesnel's avatar
Gauthier Quesnel committed
10
11
12
13
|============

Copyright © 2020 http://www.inrae.fr/en[INRA]

14
The software is released under the https://www.boost.org/LICENSE_1_0.txt[Boost license]. See the LICENSE file.
Gauthier Quesnel's avatar
Gauthier Quesnel committed
15
16
17

== Requirements and recommended

18
19
Irritator works for Linux, Windows and MacOS.

Gauthier Quesnel's avatar
Gauthier Quesnel committed
20
21
* `cmake` (≥ 3.11)
* $$C++$$ compiler with $$C++20$$ support:
22
** `gcc` ≥ 8 (https://www.gnu.org/software/gcc/projects/cxx-status.html[notes])
Gauthier Quesnel's avatar
Gauthier Quesnel committed
23
24
** `clang` ≥ 9 (https://clang.llvm.org/cxx_status.html[notes])
** `visual studio 2019 16.0` (https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes[notes])
25
26
27
** `Xcode 12` (https://apps.apple.com/app/xcode[notes])

=== Linux
Gauthier Quesnel's avatar
Gauthier Quesnel committed
28

29
Install the glfw3 and OpenGL libraries. On Debian GNU/Linux and Ubuntu derivatives.
Gauthier Quesnel's avatar
Gauthier Quesnel committed
30
31
32

[source,bash]
....
Gauthier Quesnel's avatar
Gauthier Quesnel committed
33
apt-get install build-essential cmake libglew2 libglew-dev libglfw3-dev libglx0 libopengl0 libgl1-mesa-dev
Gauthier Quesnel's avatar
Gauthier Quesnel committed
34
35
....

36
37
38
39
40
41
42
43
44
45
46
47
=== Windows

Install (https://visualstudio.microsoft.com/[Visual Studio 2019]) with `cmake`
support  then open the Irrirator source directory and build.

=== MacOS

Install (https://apps.apple.com/app/xcode[Xcode 12]) and Xcode Command Line
Tools via the command `xcode-select --install` in terminal.  Then using
(https://brew.sh[Homebrew]), install `cmake`, `glew` and `glfw` the OpenGL
dependencies. 

Gauthier Quesnel's avatar
Gauthier Quesnel committed
48
49
== First installation

50
51
52
53
54
55
56
57
58
59
First, we clone Irritator git repository and the submodule:

* from https://github.com/vle-forge/irritator[Github]:

....
git clone https://github.com/vle-forge/irritator.git
cd irritator
git submodule update --init --recursive
....

Gauthier Quesnel's avatar
Gauthier Quesnel committed
60
* from https://forgemia.inra.fr/gauthier.quesnel/irritator[ForgeMIA]:
Gauthier Quesnel's avatar
Gauthier Quesnel committed
61
62

....
Gauthier Quesnel's avatar
Gauthier Quesnel committed
63
git clone https://forgemia.inra.fr/gauthier.quesnel/irritator.git
Gauthier Quesnel's avatar
Gauthier Quesnel committed
64
65
66
67
cd irritator
git submodule update --init --recursive
....

Gauthier Quesnel's avatar
Gauthier Quesnel committed
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
* build

[source,bash]
....
cmake -B build
cd build
make
make install
....

* start the GUI

[source,bash]
....
./app/gui/irritator-0.1
....

Gauthier Quesnel's avatar
Gauthier Quesnel committed
85
86
87
88
89
90
== File format

Simple file

[source]
''''
Gauthier Quesnel's avatar
Gauthier Quesnel committed
91
92
93
94
95
96
97
98
99
100
101
102
4							 # 4 models will be allocated
0 A generator 2 0.0 100.0 0  # Model 'A' is a generator with one double real message
1 B generator 2 0.0 100.0 0  # Model 'B' is a generator with one double real message
2 Add adder_2 2 1.0 1.0 0    # Model 'Add' is a adder_2 with one double real message
3 C counter 1 0.0 0			 # Model 'C' is a counter with one real message
3							 # 3 internal connections
0 0 2 0                      # Model 'A' output port '0' connected to model 'Add' input port '0'
1 0 2 1                      # Model 'A' output port '0' connected to model 'Add' input port '0'
2 0 3 0                      # Model 'Add' output port '0' connected to model 'C' input port '0'
0							 # 0 input connection
1							 # 1 output connection
C 0	0						 # Model 'C' output port '0' connected to coupled model port '0'
Gauthier Quesnel's avatar
Gauthier Quesnel committed
103
''''
104
105
106
107

The `string` for name contains only the following no-utf8 characters from the
POSIX, BSD and C99 norms: `isalnum() || isdigit(c) || _` in the  i.e.
`0-9|a-z|A-Z|_`.