28 #ifndef T8_GEOMETRY_HELPERS_H
29 #define T8_GEOMETRY_HELPERS_H
44 const size_t num_coords,
double *out_coords);
57 const double *ref_coords,
const size_t num_coords,
double *out_coords);
69 int interpolation_dim,
double *evaluated_function);
83 int interpolation_dim,
double *evaluated_function);
94 double *face_vertices);
105 double *edge_vertices);
133 const double *glob_ref_point);
This is the administrative header file for t8code.
enum t8_eclass t8_eclass_t
This enumeration contains all possible element classes.
void t8_geom_compute_linear_axis_aligned_geometry(t8_eclass_t tree_class, const double *tree_vertices, const double *ref_coords, const size_t num_coords, double *out_coords)
Compute the linear, axis-aligned geometry of a tree at a given reference coordinate.
Definition: t8_geometry_helpers.c:178
double t8_geom_get_triangle_scaling_factor(int edge_index, const double *tree_vertices, const double *glob_intersection, const double *glob_ref_point)
Calculates the scaling factor for edge displacement along a triangular tree face depending on the pos...
Definition: t8_geometry_helpers.c:352
void t8_geom_get_face_vertices(t8_eclass_t tree_class, const double *tree_vertices, int face_index, int dim, double *face_vertices)
Copies the vertex coordinates of a tree face in zorder into a separate array.
Definition: t8_geometry_helpers.c:220
void t8_geom_get_ref_intersection(int edge_index, const double *ref_coords, double ref_intersection[2])
Calculates a point of intersection in a triangular reference space.
Definition: t8_geometry_helpers.c:246
void t8_geom_linear_interpolation(const double *coefficients, const double *corner_values, int corner_value_dim, int interpolation_dim, double *evaluated_function)
Interpolates linearly between 2, bilinearly between 4 or trilineraly between 8 points.
Definition: t8_geometry_helpers.c:29
void t8_geom_triangular_interpolation(const double *coefficients, const double *corner_values, int corner_value_dim, int interpolation_dim, double *evaluated_function)
Triangular interpolation between 3 points (triangle) or 4 points (tetrahedron) using barycentric coor...
Definition: t8_geometry_helpers.c:57
void t8_geom_compute_linear_geometry(t8_eclass_t tree_class, const double *tree_vertices, const double *ref_coords, const size_t num_coords, double *out_coords)
Compute the linear geometry of a tree at a given reference coordinate.
Definition: t8_geometry_helpers.c:82
void t8_geom_get_edge_vertices(t8_eclass_t tree_class, const double *tree_vertices, int edge_index, int dim, double *edge_vertices)
Copies the vertex coordinates of a tree edge in zorder into a separate array.
Definition: t8_geometry_helpers.c:233