reprap: Deleted example board
[simavr] / examples / shared / libc3 / src / c3lines.h
1 /*
2         c3lines.h
3
4         Copyright 2008-2012 Michel Pollet <buserror@gmail.com>
5
6         This file is part of libc3.
7
8         libc3 is free software: you can redistribute it and/or modify
9         it under the terms of the GNU General Public License as published by
10         the Free Software Foundation, either version 3 of the License, or
11         (at your option) any later version.
12
13         libc3 is distributed in the hope that it will be useful,
14         but WITHOUT ANY WARRANTY; without even the implied warranty of
15         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16         GNU General Public License for more details.
17
18         You should have received a copy of the GNU General Public License
19         along with libc3.  If not, see <http://www.gnu.org/licenses/>.
20  */
21
22
23 #ifndef __C3LINES_H___
24 #define __C3LINES_H___
25
26 #include "c3geometry.h"
27
28 enum {
29         C3_LINES_TYPE = C3_TYPE('l','i','n','e'),
30 };
31 /*
32  * Takes an array of points A,B and split it into 'fat' lines around
33  * lineWidth, generates an array of triangles and an array of corresponding
34  * texture coordinates. Can also do a projection at the same time
35  * TODO: Add array indices
36  */
37 void
38 c3lines_prepare(
39                 c3vertex_p  vertices,           // points A,B pairs
40                 size_t          count,
41                 c3vertex_array_p v,                     // triangles
42                 c3tex_array_p tex,
43                 c3f lineWidth,
44                 c3mat4p m);
45
46 void
47 c3lines_init(
48                 c3geometry_p g,
49                 c3vertex_p  vertices,           // points A,B pairs
50                 size_t          count,
51                 c3f             lineWidth);
52
53 #endif /* __C3LINES_H___ */