root / bin / compute_cell_walls.cpp @ 1
Historique | Voir | Annoter | Télécharger (912 octet)
1 | 1 | akiss | #include <math.h> |
---|---|---|---|
2 | 1 | akiss | #include "constants.h" |
3 | 1 | akiss | #include "compute_cell_walls.h" |
4 | 1 | akiss | #include <stdio.h> |
5 | 1 | akiss | |
6 | 1 | akiss | /* this function computes the list of the indices of the wall of each cell */
|
7 | 1 | akiss | |
8 | 1 | akiss | void compute_cell_walls(double *vertices, int *cells_vertices, int *vertices_number_in_each_cell, |
9 | 1 | akiss | int cell_number, int *cell_walls, int *wall_vertices, int wall_number){ |
10 | 1 | akiss | |
11 | 1 | akiss | int i,j,k,previous;
|
12 | 1 | akiss | |
13 | 1 | akiss | for (i=0;i<cell_number;i++){ |
14 | 1 | akiss | for (j=vertices_number_in_each_cell[i];j<vertices_number_in_each_cell[i+1];j++){ previous=j-1; if (j==vertices_number_in_each_cell[i]){previous=vertices_number_in_each_cell[i+1]-1;} |
15 | 1 | akiss | for (k=0;k<wall_number;k++){ |
16 | 1 | akiss | if ((cells_vertices[previous]==wall_vertices[2*k] && cells_vertices[j]==wall_vertices[2*k+1]) || (cells_vertices[previous]==wall_vertices[2*k+1] && cells_vertices[j]==wall_vertices[2*k])){ |
17 | 1 | akiss | cell_walls[j]=k; |
18 | 1 | akiss | } |
19 | 1 | akiss | } |
20 | 1 | akiss | } |
21 | 1 | akiss | } |
22 | 1 | akiss | |
23 | 1 | akiss | } |