Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/hexablock.git] / doc / intro_association.rst
1 :tocdepth: 3
2
3 .. _assomodelgeo:
4
5 ==========================================
6 Associate a model of blocks to a geometry
7 ==========================================
8
9 Associate the model to the geometry means that the geometry to mesh is
10 "raw" for this application. In other words, there will be no
11 modification of this geometry end no rebuild of a complete new
12 geometry. However it is possible to complete this geometry by adding
13 new pieces if necessary without any topological operation to link
14 these pieces to the initial geometry. Generally, the geometry to mesh
15 is defined as a set of faces, if these faces are not given under solid
16 form but form logically this solid, it is sufficient for this
17 application.
18
19 To associate the model to the geometry, three successive steps are to be followed:
20
21 1. Mandatory: associate **all the vertices** of the model to the geometry
22 2. If necessary: associate **the needed edges** of the model to the geometry
23 3. If necessary: associate **the needed faces** of the model to the geometry
24
25 The HexaBlock application enables to follow these three steps
26 independently (see :ref:`assoelemts`). To facilitate the association
27 of the model to the geometry, an alternative way exists: the first two
28 steps above can be replaced by a new stage called association by lines
29 (see :ref:`assolines`).
30
31 .. image:: _static/association2.PNG
32    :align: center
33
34 .. centered::
35    Rod connecting
36
37 .. _assoelemts:
38
39 Elements association
40 ====================
41
42 Associate the vertices 
43 ----------------------
44
45 This step is essential, all the vertices of the model must be associated to the geometry.
46
47 There are 4 ways for this association:
48
49 - associate one vertex "v" of the model to a "vertex" of the shape "s"
50   of the geometry.
51
52 - associate one vertex "v" of the model to a point of curvilinear
53   abscissa "p" of the "edge" included in the shape "s" of the
54   geometry.
55
56 - associate one vertex "v" of the model to a point of coordinates
57   "u,v" of the "face" included in the shape "s" of the geometry.
58
59 - associate one vertex "v" of the model to a any point.
60
61
62 It is possible to examine the association (vertex of the association
63 model, x-y-z-coordinates of the point of the association geometry).
64
65 For each vertex, the association is made in three steps:
66
67 - Choose a vertex of the model to associate.
68 - Choose the way of associating among the 4 possibilities described above.
69 - Specify the point on the geometry, the process depends on the
70   previous choice:
71     - case of an existing vertex: selection and highlight on the
72       vertices of the geometry solely
73     - case of a point taken on an edge of the geometry: selection
74       and highlight of the edges and of a point on the edge in the
75       process of being selected.
76     - case of a point taken on an face of the geometry: selection
77       and highlight of the faces and of a point on the face in the
78       process of being selected.
79     - case of a new point: ask the coordinates and visualize this
80       new point.
81
82 .. _assoedges:
83
84 Associate the edges 
85 -------------------
86
87 This step is optional. An association of every edge is determined
88 automatically before generating the mesh. This automatic process
89 applies four different algorithms in the following order:
90
91 - the first algorithm determines a wire between the two vertices by
92   taking the shortest way.
93 - if that wire does not exist, then another wire is build in the
94   following manner:
95     - compute the normals to the two vertices,
96     - compute the mean normal of the two previous normals,
97     - build the plan passing through the two vertices and this
98       mean normal,
99     - the sought-after wire is the intersection of the geometry
100       with the plan,
101 - if the intersection with this plan fails, then another wire
102   "iso-type" is determined between the two vertices and going along
103   the faces of the geometry linking these two vertices,
104 - if this wire still does not exist, then the vertices are linked by a
105   line segment.
106
107 If one of the automatic choices is not appropriate, then the
108 association of the edge of the model to the geometry has to be defined
109 explicitly.
110
111
112 Associate the quadrangles 
113 -------------------------
114
115 This step is optional. The model quadrangles association is
116 automatic. The three cases are processed:
117
118 - all the geometric faces exist then the nodes are computed on these
119   faces,
120 - the faces do exist but some pieces are missing because of the new
121   edges or vertices, in that case two strategies are deployed:
122     - automatic construction of the missing faces from the contour lines,
123     - or association of new faces build in the geometry,
124 - there are no associated faces to the quadrangle of the model:
125     - only the automatic mesh is used,
126     - if this automatic mesh does not work, then it is possible to
127       associate to the model quadrangle a geometric face build in
128       GEOM by the user.
129
130 If one of the automatic choices is not appropriate, then the
131 association of the quadrangle of the model to the geometry has to be
132 defined explicitly.
133
134 .. _assolines:
135
136 Association by lines
137 ====================
138
139 The description of this step is:
140
141 - At the end of this new stage, it is necessary that all points of the
142   model blocks are associated with the vertices of the geometry,
143 - The process is to associate the lines of the model of blocks to
144   vertices and edges of geometry until all points of the model of blocks
145   are associated,
146 - When all points of the model of blocks are associated, it is still
147   possible to complete with step 2 above (see :ref:`assoedges`) to
148   finish the association of needed edges.
149
150 See TUI  scripts and GUI part.