liba2ri  0.2
 All Data Structures
overlap.h
1 /*************************************/
2 /* Auteur : Rémi Synave */
3 /* Date de création : 01/03/07 */
4 /* Date de modification : 08/01/10 */
5 /* Version : 0.2 */
6 /*************************************/
7 
8 /*************************************/
9 /* Auteur : Romain Leguay */
10 /* Nguyen Haiduong */
11 /* Solange Houeto */
12 /* Marianne Fichoux */
13 /* Date de modification : 06/06/09 */
14 /* Version : 0.2 */
15 /*************************************/
16 
17 /***************************************************************************/
18 /* This file is part of a2ri. */
19 /* */
20 /* a2ri is free software: you can redistribute it and/or modify it */
21 /* under the terms of the GNU Lesser General Public License as published */
22 /* by the Free Software Foundation, either version 3 of the License, or */
23 /* (at your option) any later version. */
24 /* */
25 /* a2ri is distributed in the hope that it will be useful, */
26 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
27 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
28 /* GNU Lesser General Public License for more details. */
29 /* */
30 /* You should have received a copy of the GNU Lesser General Public */
31 /* License along with a2ri. */
32 /* If not, see <http://www.gnu.org/licenses/>. */
33 /***************************************************************************/
34 
35 
36 
37 #ifndef OVERLAP__H
38 #define OVERLAP__H
39 
40 #include <stdio.h>
41 #include <stdlib.h>
42 #include <pthread.h>
43 
44 #include "model.h"
45 #include "boundingbox.h"
46 #include "point.h"
47 #include "util.h"
48 
49 
59 int intersection_axis_aligned_bounding_box_with_axis_aligned_bounding_box_list (
60  point3d min,
61  point3d max,
62  point3d * listmin,
63  point3d * listmax,
64  int size);
65 
79 int intersection_bounding_ball_with_bounding_ball_list (
80  point3d c,
81  double rayon,
82  point3d * listcentre,
83  double *listrayon,
84  int nbelt,
85  double alpha);
86 
94 double a2ri_vf_bounding_ball_ritter_compute_overlap (
95  vf_model * base,
96  vf_model * m,
97  double sensibility);
98 
106 double a2ri_vf_bounding_ball_minimale_compute_overlap (
107  vf_model * base,
108  vf_model * m,
109  double sensibility);
110 
117 double a2ri_vf_axis_aligned_bounding_box_compute_overlap (
118  vf_model * base,
119  vf_model * m);
120 
130 void a2ri_vf_bounding_ball_ritter_find_face_overlapping (
131  vf_model * base,
132  vf_model * m,
133  int **list,
134  int *size,
135  double alpha);
136 
146 void a2ri_vf_bounding_ball_minimale_find_face_overlapping (
147  vf_model * base,
148  vf_model * m,
149  int **list,
150  int *size,
151  double alpha);
152 
161 void a2ri_vf_axis_aligned_bounding_box_find_face_overlapping (
162  vf_model * base,
163  vf_model * m,
164  int **listface,
165  int *size);
166 
167 #endif