liba2ri  0.2
 All Data Structures
subdivision.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 /* This file is part of a2ri. */
10 /* */
11 /* a2ri is free software: you can redistribute it and/or modify it */
12 /* under the terms of the GNU Lesser General Public License as published */
13 /* by the Free Software Foundation, either version 3 of the License, or */
14 /* (at your option) any later version. */
15 /* */
16 /* a2ri is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public */
22 /* License along with a2ri. */
23 /* If not, see <http://www.gnu.org/licenses/>. */
24 /***************************************************************************/
25 
26 
27 
28 #ifndef SUBDIVISION__H
29 #define SUBDIVISION__H
30 
31 #include "util.h"
32 #include "model.h"
33 #include "edge.h"
34 #include "hashtable.h"
35 
42 void a2ri_vf_loop (
43  vf_model * m,
44  int nbiter);
45 
52 void a2ri_vf_6_subdivision (
53  vf_model * m,
54  int nbiter);
55 
62 void a2ri_vf_4_subdivision (
63  vf_model * m,
64  int nbiter);
65 
74 void
75 a2ri_vf_subdivision_by_plane (
76  vf_model * m,
77  point3d A,
78  point3d B,
79  point3d C);
80 
87 void a2ri_vf_general_subdivision (
88  vf_model * m,
89  hashtable * table);
90 
97 void a2ri_vef_loop (
98  vef_model * m,
99  int nbiter);
100 
108 void a2ri_vef_butterfly (
109  vef_model * m,
110  int nbiter,
111  double tension);
112 
113 
114 #endif