Salome HOME
Merge from BR_V5_DEV 16Feb09
[tools/medcoupling.git] / doc / doxygen / polygon.dox
1 /*!\page polygon Polyhedra and polygons
2
3 \section polygon_general General information
4
5 The methods described in section \ref mesh do not take into account information about
6   \c polygonal and \c polyhedral cells contained in a MESH object. 
7 Indeed, in the MEDMEM library, the connectivity data
8 for these elements are stored separately . Therefore, 
9 the methods that give access to this data are slightly different from 
10 those of section \ref mesh.
11
12 Also, the polygon and the polyhedra case differ in nature, 
13 because in 3D, the list of nodes is not sufficient 
14 to described the shape of an element. A descending 
15 cell>face>nodes connectivity has to be established 
16 to fully describe the elements. 
17
18 \section polygon_connectivity Polygon connectivity
19
20 Let us consider the case illustrated in figure \ref fig_polygon_connectivity .
21
22 \anchor fig_polygon_connectivity
23 \image html polygon_connectivity_small.png "Example for polygon connectivity"
24 \image latex polygon_connectivity_small.eps "Example for polygon connectivity"
25
26
27 - The standard element connectivity table writes : {2, 6, 7, 3, 3, 7, 8, 4 }
28 - The standard element connectivity index table writes : {1, 5, 9 }
29 - The polygon element connectivity table writes : {1, 2, 3, 4, 5 }
30 - The polygon element connectivity index table writes : {1, 6 }
31
32 \section polyhedron_conn Polyhedron connectivity
33
34 For polyhedra, in the nodal connectivity case, 
35 one more array is required, because a 
36 list of nodes does not suffice to describe a general polyhedron. 
37 A general polyhedron is therefore described by a list of faces,
38 each of those being described by a list of nodes.
39
40 Let us consider an example with the two tetrahedra represented on
41 figure \ref fig_polyhedron_connectivity , the left one
42 being stored as a \c MED_TETRA4 element, the right one being stored
43 as a \c MED_POLYHEDRA element.
44
45 \anchor fig_polyhedron_connectivity
46 \image html polyhedron_connectivity_small.png "Example for polyhedron connectivity. Node numbers are written with a normal font, while face numbers are written in italic font."
47 \image latex polyhedron_connectivity_small.eps "Example for polyhedron connectivity. Node numbers are written with a normal font, while face numbers are written in italic font."
48
49 - The standard element index connectivity table writes : {1, 5 }
50 - The standard element connectivity table writes : {1, 2, 3, 4 }
51 - The polyhedra face connectivity index table writes :{1, 5}
52 - The polyhedra connectivity index table writes : {1, 4, 7, 10, 13}
53 - The polyhedra connectivity (face/node connectivity) table writes : {2, 3, 5, 2, 4, 5, 4, 5, 3, 2, 3, 4}
54
55 Note that as they are not needed as such, the face numberings are not stored
56 in any array. Only the number of nodes per face is implicitly stored
57 in the polyhedra face connectivity index table.
58
59 If there are two \c MED_POLYHEDRA elements that share a common face, 
60 the list of nodes is repeated twice in the polyhedron connectivity
61 array.
62
63 \section poly_outline Outline
64 The methods associated to polygons/polyhedra are located in the following classes :
65 - access methods are stored in MESH : \ref MESH_poly
66 - creation methods are in MESHING : \ref MESHING_poly
67
68 \section poly_example Example
69 The following example illustrates the creation method for a mesh that
70 contains polygons and/or polyhedra :
71 \include test_MEDMEM_MeshingPoly.cxx
72 */