28 #ifndef T8_GEOMETRY_BASE_HXX 
   29 #define T8_GEOMETRY_BASE_HXX 
   82                     double *out_coords) 
const 
   96                              double *jacobian) 
const 
  127                                       const double *points, 
const int num_points, 
int *is_inside,
 
  128                                       const double tolerance)
 const 
  130     SC_ABORTF (
"Point batch inside element function not implemented");
 
  140     SC_ABORTF (
"Tree negative volume function not implemented");
 
  159   inline const std::string
 
  166   t8_geom_get_hash ()
 const 
This structure holds the connectivity data of the coarse mesh.
Definition: t8_cmesh_types.h:88
 
This structure is private to the implementation.
Definition: t8_forest_types.h:69
 
The base class for all geometries.
Definition: t8_geometry_base.hxx:48
 
int dimension
The dimension of reference space for which this is a geometry.
Definition: t8_geometry_base.hxx:180
 
size_t hash
The hash of the name of this geometry.
Definition: t8_geometry_base.hxx:186
 
const std::string t8_geom_get_name() const
Get the name of this geometry.
Definition: t8_geometry_base.hxx:160
 
virtual bool t8_geom_tree_negative_volume() const
Check if the currently active tree has a negative volume.
Definition: t8_geometry_base.hxx:138
 
virtual void t8_geom_evaluate(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *out_coords) const =0
Maps points in the reference space .
 
virtual void t8_geom_point_batch_inside_element(t8_forest_t forest, t8_locidx_t ltreeid, const t8_element_t *element, const double *points, const int num_points, int *is_inside, const double tolerance) const
Query whether a batch of points lies inside an element.
Definition: t8_geometry_base.hxx:126
 
virtual void t8_geom_evaluate_jacobian(t8_cmesh_t cmesh, t8_gloidx_t gtreeid, const double *ref_coords, const size_t num_coords, double *jacobian) const =0
Compute the jacobian of the t8_geom_evaluate map at a point in the reference space .
 
virtual t8_geometry_type_t t8_geom_get_type() const =0
Get the type of this geometry.
 
int t8_geom_get_dimension() const
Get the dimension of this geometry.
Definition: t8_geometry_base.hxx:150
 
virtual ~t8_geometry()
The destructor.
Definition: t8_geometry_base.hxx:68
 
std::string name
The name of this geometry.
Definition: t8_geometry_base.hxx:183
 
virtual void t8_geom_load_tree_data(t8_cmesh_t cmesh, t8_gloidx_t gtreeid)=0
Update a possible internal data buffer for per tree data.
 
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:100
 
int32_t t8_locidx_t
A type for processor-local indexing.
Definition: t8.h:89
 
#define T8_ASSERT(c)
Widely used assertion.
Definition: t8.h:71
 
We define the coarse mesh of trees in this file.
 
#define T8_ECLASS_MAX_DIM
The maximal possible dimension for an eclass.
Definition: t8_eclass.h:77
 
struct t8_element t8_element_t
Opaque structure for a generic element, only used as pointer.
Definition: t8_element.h:42
 
Includes all headers based on previous t8_forest.h.
 
Typedef for the t8_geometry class in order to be usable as a pointer from .c files.
 
enum t8_geometry_type t8_geometry_type_t
This enumeration contains all possible geometries.