13#ifndef dealii_tria_objects_h
14#define dealii_tria_objects_h
28template <
int dim,
int spacedim>
31template <
class Accessor>
33template <
int,
int,
int>
39 namespace TriangulationImplementation
97 const std::size_t new_objects_single);
136 const unsigned int face_no,
137 const int neighbor_index);
220 template <
class Archive>
222 serialize(Archive &ar,
const unsigned int version);
258 template <
int structdim,
int dim,
int spacedim>
273 template <
int structdim,
int dim,
int spacedim>
281 template <
int dim,
int spacedim>
284 const unsigned int level);
341 template <
class Archive>
343 serialize(Archive &ar,
const unsigned int version);
397 template <
class Archive>
399 serialize(Archive &ar,
const unsigned int version);
458 const unsigned int face_no)
const
472 const unsigned int face_no,
473 const int neighbor_index)
511 template <
class Archive>
524 if (
sizeof(material_id) >
sizeof(boundary_id))
555 inline unsigned int &
587 const unsigned int children_per_object,
588 const unsigned int faces_per_object)
589 : structdim(structdim)
590 , children_per_object(children_per_object)
591 , faces_per_object(faces_per_object)
592 , next_free_single(
numbers::invalid_unsigned_int)
593 , next_free_pair(
numbers::invalid_unsigned_int)
594 , reverse_order_next_free_single(false)
595 , user_data_type(data_unknown)
627 template <
class Archive>
637 template <
class Archive>
657 template <
int structdim_,
int dim,
int spacedim>
672 for (; pos < last; ++pos)
684 pos =
used.size() - 1;
694 for (; pos >= 0; --pos)
701 return ::TriaRawIterator<
705 return ::TriaRawIterator<
711 template <
int structdim_,
int dim,
int spacedim>
721 for (; pos < last; ++pos)
731 return ::TriaRawIterator<
736 return ::TriaRawIterator<
typename IteratorSelector::raw_hex_iterator raw_hex_iterator
std::vector< types::manifold_id > manifold_id
std::vector< int > bounding_objects
void allocate_end(const std::size_t new_objects_in_pairs, const std::size_t new_objects_single)
ArrayView< int > get_bounding_object_indices(const unsigned int index)
std::vector< int > children
unsigned int next_free_pair
void *& user_pointer(const unsigned int i)
void serialize(Archive &ar, const unsigned int version)
std::size_t memory_consumption() const
std::size_t n_objects() const
void set_bounding_object(const int index, const unsigned int face_no, const int neighbor_index)
int get_bounding_object(const int index, const unsigned int face_no) const
Triangulation< dim, spacedim >::raw_hex_iterator next_free_hex(const Triangulation< dim, spacedim > &tria, const unsigned int level)
std::vector< bool > user_flags
unsigned int & user_index(const unsigned int i)
UserDataType user_data_type
::TriaRawIterator<::TriaAccessor< structdim, dim, spacedim > > next_free_single_object(const Triangulation< dim, spacedim > &tria)
@ data_index
UserData contains indices.
@ data_unknown
No userdata used yet.
@ data_pointer
UserData contains pointers.
bool reverse_order_next_free_single
unsigned int next_free_single
::TriaRawIterator<::TriaAccessor< structdim, dim, spacedim > > next_free_pair_object(const Triangulation< dim, spacedim > &tria)
void allocate(const std::size_t n_objects)
unsigned int faces_per_object
unsigned int children_per_object
std::vector< BoundaryOrMaterialId > boundary_or_material_id
std::vector< std::uint8_t > refinement_cases
std::vector< UserData > user_data
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcPointerIndexClash()
#define Assert(cond, exc)
#define AssertDimension(dim1, dim2)
#define AssertIndexRange(index, range)
static ::ExceptionBase & ExcInternalError()
std::vector< index_type > data
constexpr types::material_id invalid_material_id
types::boundary_id boundary_id
void serialize(Archive &ar, const unsigned int version)
static std::size_t memory_consumption()
types::material_id material_id
void serialize(Archive &ar, const unsigned int version)