29 #ifndef T8_DEFAULT_PYRAMID_CXX_HXX 
   30 #define T8_DEFAULT_PYRAMID_CXX_HXX 
   85                                        int called_new) 
const;
 
  157     SC_ABORT (
"This function is not implemented yet.\n");
 
  196                                                   int face, 
int corner) 
const;
 
  211                                                   int corner, 
int face)
 const 
  213     SC_ABORT (
"Not implemented.\n");
 
  224     SC_ABORT (
"This function is not implemented yet.\n");
 
  225     return T8_ECLASS_ZERO;      
 
  328                                                    int *child_indices) 
const;
 
  352                                                   int face_child) 
const;
 
  402                                                  int orientation, 
int sign,
 
  403                                                  int is_smaller_face)
 const 
  405     SC_ABORT (
"This function is not implemented yet.\n");
 
  425                                                int root_face) 
const;
 
  468                                                 *boundary_scheme) 
const;
 
  476                                            int min_dim, 
int length,
 
  479     SC_ABORT (
"This function is not implemented yet.\n");
 
  509                                                        int *neigh_face) 
const;
 
  571                                          int anchor[3]) 
const;
 
  603                                                    void *outdata) 
const;
 
  627                                                    const double *ref_coords,
 
  628                                                    const void *user_data,
 
  638 #ifdef T8_ENABLE_DEBUG 
  653   virtual int         t8_element_is_valid (
const t8_element_t *t) 
const;
 
  662   virtual void        t8_element_debug_print (
const t8_element_t *elem) 
const;
 
Definition: t8_default_common_cxx.hxx:38
 
Provide an implementation for the pyramid element class.
Definition: t8_default_pyramid_cxx.hxx:40
 
virtual int t8_element_max_num_faces(const t8_element_t *elem) const
Compute the maximum number of faces of a given element and all of its descendants.
Definition: t8_default_pyramid_cxx.cxx:75
 
virtual void t8_element_set_linear_id(t8_element_t *elem, int level, t8_linearidx_t id) const
Initialize the entries of an allocated element according to a given linear id in a uniform refinement...
Definition: t8_default_pyramid_cxx.cxx:293
 
virtual void t8_element_vertex_coords(const t8_element_t *t, int vertex, int coords[]) const
Compute the integer coordinates of a given element vertex.
Definition: t8_default_pyramid_cxx.cxx:441
 
virtual int t8_element_is_root_boundary(const t8_element_t *elem, int face) const
Compute whether a given element shares a given face with its root tree.
Definition: t8_default_pyramid_cxx.cxx:315
 
virtual void t8_element_reference_coords(const t8_element_t *elem, const double *ref_coords, const void *user_data, double *out_coords) const
Convert a point in the reference space of an element to a point in the reference space of the tree.
Definition: t8_default_pyramid_cxx.cxx:479
 
virtual void t8_element_transform_face(const t8_element_t *elem1, t8_element_t *elem2, int orientation, int sign, int is_smaller_face) const
Suppose we have two trees that share a common face f.
Definition: t8_default_pyramid_cxx.hxx:400
 
virtual int t8_element_root_len(const t8_element_t *elem) const
Compute the root length of a given element, that is the length of its level 0 ancestor.
Definition: t8_default_pyramid_cxx.cxx:286
 
virtual int t8_element_level(const t8_element_t *elem) const
Return the refinement level of an element.
Definition: t8_default_pyramid_cxx.cxx:279
 
virtual void t8_element_parent(const t8_element_t *elem, t8_element_t *parent) const
Compute the parent of a given element elem and store it in parent.
Definition: t8_default_pyramid_cxx.cxx:409
 
virtual int t8_element_compare(const t8_element_t *elem1, const t8_element_t *elem2) const
Compare two elements.
Definition: t8_default_pyramid_cxx.cxx:122
 
virtual t8_element_shape_t t8_element_face_shape(const t8_element_t *elem, int face) const
Compute the shape of the face of an element.
Definition: t8_default_pyramid_cxx.cxx:200
 
virtual int t8_element_num_face_children(const t8_element_t *elem, int face) const
Return the number of children of an element's face when the element is refined.
Definition: t8_default_pyramid_cxx.cxx:365
 
virtual void t8_element_sibling(const t8_element_t *elem, int sibid, t8_element_t *sibling) const
Compute a specific sibling of a given pyramid element elem and store it in sibling.
Definition: t8_default_pyramid_cxx.hxx:153
 
virtual int t8_element_get_corner_face(const t8_element_t *element, int corner, int face) const
Return the face numbers of the faces sharing an element's corner.
Definition: t8_default_pyramid_cxx.hxx:210
 
virtual int t8_element_is_family(t8_element_t **fam) const
Query whether a given set of elements is a family or not.
Definition: t8_default_pyramid_cxx.cxx:303
 
virtual int t8_element_face_parent_face(const t8_element_t *elem, int face) const
Given a face of an element return the face number of the parent of the element that matches the eleme...
Definition: t8_default_pyramid_cxx.cxx:231
 
virtual int t8_element_child_id(const t8_element_t *elem) const
Compute the child id of an element.
Definition: t8_default_pyramid_cxx.cxx:208
 
virtual int t8_element_tree_face(const t8_element_t *elem, int face) const
Given an element and a face of this element.
Definition: t8_default_pyramid_cxx.cxx:357
 
virtual void t8_element_first_descendant(const t8_element_t *elem, t8_element_t *desc, int level) const
Compute the first descendant of a given element.
Definition: t8_default_pyramid_cxx.cxx:240
 
virtual t8_element_shape_t t8_element_shape(const t8_element_t *elem) const
Return the shape of an allocated element according its type.
Definition: t8_default_pyramid_cxx.cxx:350
 
virtual void t8_element_vertex_reference_coords(const t8_element_t *elem, const int vertex, double coords[]) const
Compute the coordinates of a given element vertex inside a reference tree that is embedded into [0,...
Definition: t8_default_pyramid_cxx.cxx:464
 
virtual int t8_element_extrude_face(const t8_element_t *face, const t8_eclass_scheme_c *face_scheme, t8_element_t *elem, int root_face) const
Given a boundary face inside a root tree's face construct the element inside the root tree that has t...
Definition: t8_default_pyramid_cxx.cxx:337
 
virtual void t8_element_new(int length, t8_element_t **elem) const
Allocate memory for an array of pyramids and initialize them.
Definition: t8_default_pyramid_cxx.cxx:34
 
virtual t8_eclass_t t8_element_child_eclass(int childid) const
Return the type of each child in the ordering of the implementation.
Definition: t8_default_pyramid_cxx.hxx:222
 
virtual int t8_element_num_corners(const t8_element_t *elem) const
Compute the number of corners of a given element.
Definition: t8_default_pyramid_cxx.cxx:100
 
virtual void t8_element_last_descendant(const t8_element_t *elem, t8_element_t *desc, int level) const
Compute the last descendant of a given element.
Definition: t8_default_pyramid_cxx.cxx:383
 
virtual void t8_element_anchor(const t8_element_t *elem, int anchor[3]) const
Get the integer coordinates of the anchor node of an element.
Definition: t8_default_pyramid_cxx.cxx:429
 
virtual t8_linearidx_t t8_element_get_linear_id(const t8_element_t *elem, int level) const
Compute the linear id of a given element in a hypothetical uniform refinement of a given level.
Definition: t8_default_pyramid_cxx.cxx:374
 
virtual void t8_element_boundary(const t8_element_t *elem, int min_dim, int length, t8_element_t **boundary) const
Construct all codimension-one boundary elements of a given element.
Definition: t8_default_pyramid_cxx.hxx:475
 
virtual int t8_element_face_child_face(const t8_element_t *elem, int face, int face_child) const
Given a face of an element and a child number of a child of that face, return the face number of the ...
Definition: t8_default_pyramid_cxx.cxx:190
 
virtual int t8_element_get_face_corner(const t8_element_t *element, int face, int corner) const
Return the corner number of an element's face corner.
Definition: t8_default_pyramid_cxx.cxx:268
 
virtual void t8_element_init(int length, t8_element_t *elem, int called_new) const
Initialize an array of allocated elements.
Definition: t8_default_pyramid_cxx.cxx:51
 
virtual int t8_element_num_children(const t8_element_t *elem) const
Return the number of children of an element when it is refined.
Definition: t8_default_pyramid_cxx.cxx:92
 
virtual int t8_element_maxlevel(void) const
Return the maximum allowed level for this element class.
Definition: t8_default_pyramid_cxx.cxx:69
 
virtual void t8_element_first_descendant_face(const t8_element_t *elem, int face, t8_element_t *first_desc, int level) const
Construct the first descendant of an element at a given level that touches a given face.
Definition: t8_default_pyramid_cxx.cxx:252
 
virtual void t8_element_boundary_face(const t8_element_t *elem, int face, t8_element_t *boundary, const t8_eclass_scheme_c *boundary_scheme) const
Construct the boundary element at a specific face.
Definition: t8_default_pyramid_cxx.cxx:324
 
virtual void t8_element_copy(const t8_element_t *source, t8_element_t *dest) const
Copy all entries of source to dest.
Definition: t8_default_pyramid_cxx.cxx:133
 
virtual int t8_element_refines_irregular(void) const
Returns true, if there is one element in the tree, that does not refine into 2^dim children.
Definition: t8_default_pyramid_cxx.cxx:492
 
t8_default_scheme_pyramid_c(void)
The virtual table for a particular implementation of an element class.
Definition: t8_default_pyramid_cxx.cxx:529
 
virtual void t8_element_children(const t8_element_t *elem, int length, t8_element_t *c[]) const
Construct all children of a given element.
Definition: t8_default_pyramid_cxx.cxx:156
 
virtual void t8_element_successor(const t8_element_t *t, t8_element_t *s, int level) const
Construct the successor in a uniform refinement of a given element.
Definition: t8_default_pyramid_cxx.cxx:418
 
virtual void t8_element_last_descendant_face(const t8_element_t *elem, int face, t8_element_t *last_desc, int level) const
Construct the last descendant of an element at a given level that touches a given face.
Definition: t8_default_pyramid_cxx.cxx:395
 
virtual int t8_element_num_faces(const t8_element_t *elem) const
Compute the number of faces of a given element.
Definition: t8_default_pyramid_cxx.cxx:115
 
virtual int t8_element_num_siblings(const t8_element_t *elem) const
Compute the number of siblings of an element.
Definition: t8_default_pyramid_cxx.cxx:107
 
virtual void t8_element_nca(const t8_element_t *elem1, const t8_element_t *elem2, t8_element_t *nca) const
Compute the nearest common ancestor of two elements.
Definition: t8_default_pyramid_cxx.cxx:450
 
virtual int t8_element_face_neighbor_inside(const t8_element_t *elem, t8_element_t *neigh, int face, int *neigh_face) const
Construct the face neighbor of a given element if this face neighbor is inside the root tree.
Definition: t8_default_pyramid_cxx.cxx:215
 
virtual int t8_element_ancestor_id(const t8_element_t *elem, int level) const
Compute the ancestor id of an element, that is the child id at a given level.
Definition: t8_default_pyramid_cxx.cxx:83
 
virtual void t8_element_child(const t8_element_t *elem, int childid, t8_element_t *child) const
Construct the child element of a given number.
Definition: t8_default_pyramid_cxx.cxx:142
 
virtual void t8_element_general_function(const t8_element_t *elem, const void *indata, void *outdata) const
The tetrahedron schemes uses the general function to return the type of a tetrahedron.
Definition: t8_default_pyramid_cxx.cxx:499
 
virtual void t8_element_children_at_face(const t8_element_t *elem, int face, t8_element_t *children[], int num_children, int *child_indices) const
Given an element and a face of the element, compute all children of the element that touch the face.
Definition: t8_default_pyramid_cxx.cxx:170
 
This struct holds virtual functions for a particular element class.
Definition: t8_element_cxx.hxx:47
 
uint64_t t8_linearidx_t
A type for storing SFC indices.
Definition: t8.h:114
 
We provide some functions that are useful across element classes.
 
enum t8_eclass t8_eclass_t
This enumeration contains all possible element classes.
 
struct t8_element t8_element_t
Opaque structure for a generic element, only used as pointer.
Definition: t8_element.h:42
 
This file defines basic operations on an element in a refinement tree.
 
t8_eclass_t t8_element_shape_t
Type definition for the geometric shape of an element.
Definition: t8_element_shape.h:38