]> SALOME platform Git repositories - modules/hydro.git/blob - doc/salome/tutorial/manipsPolys.rst
Salome HOME
tutorial: split and merge polylines
[modules/hydro.git] / doc / salome / tutorial / manipsPolys.rst
1 ..
2    Copyright (C) 2015-2016 EDF
3
4    This file is part of SALOME HYDRO module.
5
6    SALOME HYDRO module is free software: you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation, either version 3 of the License, or
9    (at your option) any later version.
10
11    SALOME HYDRO module is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
18
19 #########################################
20 Manipulations de Polylignes
21 #########################################
22
23 .. |deuxSections| image:: /_static/deuxSections.png
24    :align: middle
25
26 .. |deuxExtremites| image:: /_static/deuxExtremites.png
27    :align: middle
28
29 .. |bringTogether| image:: /_static/bringTogether.png
30    :align: middle
31
32 .. |deuxPointsConfondus| image:: /_static/deuxPointsConfondus.png
33    :align: middle
34
35 .. |contourFermeDeuxSections| image:: /_static/contourFermeDeuxSections.png
36    :align: middle
37
38 .. |domaineMaritime| image:: /_static/domaineMaritime.png
39    :align: middle
40
41 .. |zonePont| image:: /_static/zonePont.png
42    :align: middle
43
44 .. |completeSplitDialog| image:: /_static/completeSplitDialog.png
45    :align: middle
46
47 .. |zonesSplitCreees| image:: /_static/zonesSplitCreees.png
48    :align: middle
49
50 .. |zonePontSplit| image:: /_static/zonePontSplit.png
51    :align: middle
52
53 .. |zoneAmontSplit| image:: /_static/zoneAmontSplit.png
54    :align: middle
55
56 .. |zoneAvalSplit| image:: /_static/zoneAvalSplit.png
57    :align: middle
58
59 .. |mergeZonesPont| image:: /_static/mergeZonesPont.png
60    :align: middle
61
62 .. |pilesDePont| image:: /_static/pilesDePont.png
63    :align: middle
64
65
66 Nous n'avons abordé jusqu'à présent que des polylignes à une seule section.
67 L'utilisation de plusieurs sections dans les polylignes permet de combiner des splines et des
68 lignes brisées dans un même contour, par exemple. Les opérations sur les polylignes
69 (merge, split, copy, paste) permettent, entre autres, de créer des contours partageant un bord,
70 avant la création du cas de calcul.
71
72 Limites de domaine maritime
73 ===========================
74
75 Un domaine maritime est souvent limité par une ligne de côte, détaillée, et par une ligne brisée
76 la plus simple possible au large.
77
78 La ligne de côte détaillée est saisie sous forme d'une spline, dans une polyligne, non fermée.
79
80 La limite en mer est saisie dans une deuxième section de la même polyligne.
81
82 Pour créer la deuxième section, il faut éditer la polyligne dans laquelle on a saisi la ligne de côte,
83 cliquer sur *insert new section* et choisir une ligne de type *polyline* non fermée.
84 On valide la création de section avec le bouton *Add*.
85
86 La section 2 étant sélectionnée, le bouton *Addition mode* permet d'ajouter des points.
87 On crée la ligne brisée en visant approximativement les extrémités de la ligne de côte.
88
89   |deuxSections|
90
91 Il faut maintenant faire correspondre précisément les extrémités des deux sections pour obtenir un
92 contour fermé.
93
94 Pour cela, on sélectionne simultanément les deux sections (touche shift)
95 et on passe en mode modification (bouton *modification mode*).
96
97 On sélectionne simultanément les deux premiers points d'extrémité à rapprocher,
98 avec une selection par boite englobante à la souris
99 (en ayant préalablement fait un zoom si nécessaire).
100
101   |deuxExtremites|
102
103 Les coordonnées des deux points s'affichent, ainsi que la distance entre les deux points,
104 dans la colonne distance.
105
106 On notera que le bouton de droite est devenu actif (il faut sélectionner deux sections).
107
108   |bringTogether|
109
110 En cliquant sur le bouton, les deux points deviennent superposés, leurs coordonnées sont mises à jour,
111 et la distance affichée est devenue nulle.
112
113   |deuxPointsConfondus|
114
115 Il faut procéder de même avec les autres extrémités à rapprocher, puis valider avec *Apply and close*.
116
117 La polyligne représente maintenant un contour fermé composé de 2 sections de types différents.
118
119   |contourFermeDeuxSections|
120
121  * **remarque** : Lors de la superposition des points, l'un prend les coordonnées de l'autre.
122    Il n'est pas facile de maîtriser quel point reste fixe,
123    donc il vaut mieux éviter qu'ils soient trop éloignés pour ne pas déformer
124    la ligne de côte.
125
126 Il faut ensuite transformer le contour en objet naturel. Nous avons notre domaine maritime.
127
128   |domaineMaritime|
129
130 Créer des sections sur un lit mineur : barrages, ponts
131 ======================================================
132
133 Le lit mineur d'une rivière peut être découpé en plusieurs sections, pour permettre des
134 traitement spécifiques. Par exemple :
135
136  * La zone au niveau d'un pont, pour laquelle la description explicite des piles du pont
137    va vraisemblablement imposer un maillage spécifique, si le reste du lit mineur est
138    maillé en triangles allongés dans le sens de l'écoulement.
139
140  * Un barrage, pour lequel on souhaite par exemple écrire des conditions limites décrivant
141    son fonctionnement. Le barrage sera alors défini comme une zone "non inondable"
142    ou "insubmersible" en travers du lit mineur.
143
144  * Une zone pour laquelle on veut particulariser le maillage.
145
146 Créer une zone spécifique au niveau d'un pont sur le lit mineur
147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
148
149 Nous reprenons l'exemple précédent sur la Garonne.
150 Nous commençons par dessiner un rectangle en travers du lit mineur *garonne*, débordant franchement
151 de part et d'autre des rives. Nous nommons la polyligne correspondante *zonePont*.
152
153   |zonePont|
154
155 Nous utilisons alors la commande *Split polylignes* du menu contextuel de la polyligne *garonne*,
156 et nous prenons l'onglet *Complete split*. Il faut sélectionner la polyligne *zonePont* et cliquer
157 sur le bouton *include*, pour obtenir les deux polylignes dans la liste du dialogue.
158
159   |completeSplitDialog|
160
161 Après validation par *Apply and close*, nous obtenons quatre nouvelles polylines pour décrire
162 le lit mineur, et quatre pour décrire la zone du pont.
163
164   |zonesSplitCreees|
165
166 Nous allons regrouper les polylignes par paquets pour reconstituer les nouvelles zones, avec la
167 commande *Merge polylines*.
168
169 La zone du pont est constituée des quatres polylignes suivantes :
170
171   |zonePontSplit|
172
173 La zone du lit mineur en amont est constituée de deux polylignes :
174
175   |zoneAmontSplit|
176
177 La zone du lit mineur en aval est constituée de deux polylignes :
178
179   |zoneAvalSplit|
180
181 Pour regrouper les polylignes, nous en sélectionnons une et utilisons la commande *Merge polylines*
182 du menu contextuel. Il faut sélectionner les quatre polylignes, cliquer sur le bouton *include*,
183 choisir un nom pour la nouvelle polyligne, *litMineurPont* et valider par *Apply and close*.
184
185   |mergeZonesPont|
186
187 Nous créons de même les polylignes *litMineurAmont* et *litMineurAval*.
188 Les trois nouvelles polylignes servent à définir trois zones immersibles,
189 *litMineur_aval*, *litMineur_amont* et *litMineur_pont*.
190
191 Si nous voulons représenter les piles du pont dans le maillage, il faut les représenter en tant que
192 polylignes et définir des zones non immersibles.
193
194 Créer une zone spécifique au niveau d'un barrage sur le lit mineur
195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
196
197 Le principe est exactement le même que pour le pont, mais sans les piles.
198
199 .. only:: html
200
201    :ref:`ref_casParticuliers`