| |
1 #pragma once |
| |
2 #include "dolfinx/geometry/BoundingBoxTree.h" |
| |
3 #include <cmath> |
| |
4 |
| |
5 #pragma once |
| |
6 #include "nanobind_helpers.h" |
| |
7 |
| |
8 #pragma once |
| |
9 #include "rust/cxx.h" |
| |
10 |
| |
11 namespace dolfinx_access { |
| |
12 struct FunctionInfo; |
| |
13 |
| |
14 typedef geometry::BoundingBoxTree<double> BBTree_f64; |
| |
15 extern void drop_Function_f64(Function_f64* f); |
| |
16 |
| |
17 extern int32_t cell_Mesh_f64(std::shared_ptr<const mesh::Mesh<double>> mesh, |
| |
18 const std::array<double, 3>& x); |
| |
19 |
| |
20 extern int32_t cell_FunctionSpace_f64(FunctionSpace<double> const* v, |
| |
21 const std::array<double, 3>& x); |
| |
22 |
| |
23 extern int32_t cell_Function_f64(Function_f64 const* f, const std::array<double, 3>& x); |
| |
24 |
| |
25 extern double eval_Function_f64_cell(Function_f64 const* f, const std::array<double, 3>& x, |
| |
26 int32_t cell); |
| |
27 |
| |
28 extern double eval_Function_f64(Function_f64 const* f, const std::array<double, 3>& x); |
| |
29 |
| |
30 extern std::array<double, 6> eval_Function_f64_cell_6(Function_f64 const* f, |
| |
31 const std::array<double, 3 * 6>& x, |
| |
32 int32_t cell_index); |
| |
33 |
| |
34 FunctionInfo info_Function_f64(Function_f64 const* f); |
| |
35 |
| |
36 std::array<double, 3 * 3> cell_coords_Function_f64_triangle(Function_f64 const* f, |
| |
37 int32_t cell); |
| |
38 |
| |
39 rust::Slice<const double> data_Function_f64(Function_f64 const* f); |
| |
40 |
| |
41 rust::Slice<double> data_mut_Function_f64(Function_f64* f); |
| |
42 |
| |
43 void check_compat_Function_f64(Function_f64 const* f, Function_f64 const* g); |
| |
44 |
| |
45 Function_f64* similar_Function_f64(Function_f64 const* f); |
| |
46 |
| |
47 Function_f64* clone_Function_f64(Function_f64 const* f); |
| |
48 |
| |
49 } // namespace dolfinx_access |