27 #ifndef T8_GEOMETRY_ANALYTIC_HXX
28 #define T8_GEOMETRY_ANALYTIC_HXX
46 const double *ref_coords,
48 const void *tree_data,
49 const void *user_data);
63 const double *ref_coords,
65 const void *tree_data,
66 const void *user_data);
69 typedef void (*t8_geom_load_tree_data_fn) (
t8_cmesh_t cmesh,
71 const void **tree_data);
88 t8_geom_load_tree_data_fn load_tree_data,
89 const void *user_data);
109 const double *ref_coords,
110 double out_coords[3])
const;
126 const double *ref_coords,
127 double *jacobian)
const;
139 inline const void *t8_geom_analytic_get_user_data ()
149 t8_geom_load_tree_data_fn load_tree_data;
151 const void *tree_data;
154 const void *user_data;
159 void t8_geom_load_tree_data_vertices (
t8_cmesh_t cmesh,
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:83
Definition: t8_geometry_analytic.hxx:74
virtual void t8_geom_load_tree_data(t8_cmesh_t cmesh, t8_gloidx_t gtreeid)
Update a possible internal data buffer for per tree data.
Definition: t8_geometry_analytic.cxx:86
virtual void t8_geom_evaluate(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double out_coords[3]) const
Map a point in the reference space $$[0,1]^dimension$$ to $$\mathbb R^3$$.
Definition: t8_geometry_analytic.cxx:53
virtual void t8_geom_evalute_jacobian(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double *jacobian) const
Compute the jacobian of the t8_geom_evaluate map at a point in the reference space $$[0,...
Definition: t8_geometry_analytic.cxx:74
t8_geometry_analytic(int dimension, const char *name, t8_geom_analytic_fn analytical, t8_geom_analytic_jacobian_fn jacobian, t8_geom_load_tree_data_fn load_tree_data, const void *user_data)
Constructor with analytical and jacobian functions.
Definition: t8_geometry_analytic.cxx:25
virtual ~ t8_geometry_analytic()
The destructor.
Definition: t8_geometry_analytic.hxx:94
Definition: t8_geometry_base.hxx:38
int dimension
The dimension of reference space for which this is a geometry.
Definition: t8_geometry_base.hxx:117
const char * name
The name of this geometry.
Definition: t8_geometry_base.hxx:120
This is the administrative header file for t8code.
int64_t t8_gloidx_t
A type for global indexing that holds really big numbers.
Definition: t8.h:105
void(* t8_geom_analytic_jacobian_fn)(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double *jacobian, const void *tree_data, const void *user_data)
Definition for the jacobian of an analytic geometry function.
Definition: t8_geometry_analytic.hxx:61
void(* t8_geom_analytic_fn)(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, double out_coords[3], const void *tree_data, const void *user_data)
Definition of an analytic geometry function.
Definition: t8_geometry_analytic.hxx:44
Implements the base pure virtual class t8_geometry and the inherited class t8_geometry_w_vertices.