160 t8_geometry_evaluate (
t8_cmesh_t cmesh,
t8_gloidx_t gtreeid,
const double *ref_coords,
const size_t num_coords,
164 t8_geometry_jacobian (
t8_cmesh_t cmesh,
t8_gloidx_t gtreeid,
const double *ref_coords,
const size_t num_coords,
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:88
Definition: t8_geometry.h:63
t8_refcount_t rc
The reference count of the geometry handler.
Definition: t8_geometry.h:72
int is_committed
If true, no new geometries can be registered.
Definition: t8_geometry.h:70
t8_geometry_c * active_geometry
Points to the currently loaded geometry (the geometry that was used last and is likely to be used nex...
Definition: t8_geometry.h:66
t8_gloidx_t active_tree
The global tree id of the last tree for which geometry was used.
Definition: t8_geometry.h:68
sc_array_t registered_geometries
Stores all geometries that are handled by this geometry_handler.
Definition: t8_geometry.h:64
Definition: t8_geometry_base.hxx:37
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:98
We define the coarse mesh of trees in this file.
void t8_geom_handler_register_geometry(t8_geometry_handler_t *geom_handler, const t8_geometry_c *geometry)
Add a geometry to the geometry handler.
Definition: t8_geometry.cxx:185
void t8_geom_handler_unref(t8_geometry_handler_t **pgeom_handler)
Decrease the reference count of a geometry handler, if the refcount reaches 0, the handler will get d...
Definition: t8_geometry.cxx:121
void t8_geom_handler_destroy(t8_geometry_handler_t **pgeom_handler)
Destroy a geometry handler and free its memory.
Definition: t8_geometry.cxx:134
void t8_geom_handler_commit(t8_geometry_handler_t *geom_handler)
Commit a geometry handler.
Definition: t8_geometry.cxx:199
size_t t8_geom_handler_get_num_geometries(const t8_geometry_handler_t *geom_handler)
Return the number of registered geometries.
Definition: t8_geometry.cxx:250
void t8_geom_handler_ref(t8_geometry_handler_t *geom_handler)
Increase the reference counter of a geometry handler.
Definition: t8_geometry.cxx:113
t8_geometry_type
This enumeration contains all possible geometries.
Definition: t8_geometry.h:35
@ T8_GEOMETRY_TYPE_UNDEFINED
This is no geometry type but is used for every geometry, where no type is defined.
Definition: t8_geometry.h:49
@ T8_GEOMETRY_TYPE_LINEAR
The linear geometry uses linear interpolations to interpolate between the tree vertices.
Definition: t8_geometry.h:39
@ T8_GEOMETRY_TYPE_ANALYTIC
The analytic geometry uses a user-defined analytic function to map into the physical domain.
Definition: t8_geometry.h:43
@ T8_GEOMETRY_TYPE_OCC
The OCC geometry uses OCC CAD shapes to map trees exactly to the underlying CAD model.
Definition: t8_geometry.h:45
@ T8_GEOMETRY_TYPE_LINEAR_AXIS_ALIGNED
The linear, axis aligned geometry uses only 2 vertices, since it is axis aligned.
Definition: t8_geometry.h:41
@ T8_GEOMETRY_TYPE_ZERO
The zero geometry maps all points to zero.
Definition: t8_geometry.h:37
@ T8_GEOMETRY_TYPE_COUNT
This is no geometry type but can be used as the number of geometry types.
Definition: t8_geometry.h:47
enum t8_geometry_type t8_geometry_type_t
This enumeration contains all possible geometries.
t8_geometry_c * t8_geom_handler_find_geometry(const t8_geometry_handler_t *geom_handler, const char *name)
Given a geometry's name find that geometry in the geometry handler and return it.
Definition: t8_geometry.cxx:233
void t8_geom_handler_init(t8_geometry_handler_t **pgeom_handler)
Initialize a geometry handler.
Definition: t8_geometry.cxx:72
const t8_geometry_c * t8_geom_handler_get_unique_geometry(const t8_geometry_handler_t *geom_handler)
If a geometry handler only has one registered geometry, get a pointer to this geometry.
Definition: t8_geometry.cxx:257
We inherit the reference counting mechanism from libsc.
sc_refcount_t t8_refcount_t
We can reuse the reference counter type from libsc.
Definition: t8_refcount.h:39