1+ /*
2+ * Copyright (c) 2019 - 2024 Geode-solutions
3+ *
4+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5+ * of this software and associated documentation files (the "Software"), to deal
6+ * in the Software without restriction, including without limitation the rights
7+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+ * copies of the Software, and to permit persons to whom the Software is
9+ * furnished to do so, subject to the following conditions:
10+ *
11+ * The above copyright notice and this permission notice shall be included in
12+ * all copies or substantial portions of the Software.
13+ *
14+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20+ * SOFTWARE.
21+ *
22+ */
23+
24+ #include " ../../common.h"
25+
26+ #include < geode/mesh/helpers/rasterize.h>
27+
28+ #include < geode/geometry/basic_objects/segment.h>
29+ #include < geode/geometry/basic_objects/tetrahedron.h>
30+ #include < geode/geometry/basic_objects/triangle.h>
31+
32+ #include < geode/mesh/core/grid.h>
33+ #include < geode/mesh/core/triangulated_surface.h>
34+
35+ namespace geode
36+ {
37+ void define_rasterize ( pybind11::module & module )
38+ {
39+ module .def ( " rasterize_segment2D" , &rasterize_segment< 2 > );
40+ module .def ( " rasterize_segment3D" , &rasterize_segment< 3 > );
41+ module .def ( " conservative_rasterize_segment2D" ,
42+ &conservative_rasterize_segment< 2 > );
43+ module .def ( " conservative_rasterize_segment3D" ,
44+ &conservative_rasterize_segment< 3 > );
45+ module .def ( " rasterize_triangle2D" , &rasterize_triangle< 2 > );
46+ module .def ( " rasterize_triangle3D" , &rasterize_triangle< 3 > );
47+ module .def ( " rasterize_tetrahedron" , &rasterize_tetrahedron );
48+ module .def ( " rasterize_closed_surface" , &rasterize_closed_surface );
49+ }
50+
51+ } // namespace geode
0 commit comments