16 #ifndef dealii_base_bounding_box_h 17 #define dealii_base_bounding_box_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/exceptions.h> 22 #include <deal.II/base/point.h> 23 #include <deal.II/base/utilities.h> 25 DEAL_II_NAMESPACE_OPEN
31 enum class NeighborType
46 attached_neighbors = 2,
58 mergeable_neighbors = 3
93 template <
int spacedim,
typename Number=
double>
143 template<
class Archive>
144 void serialize(Archive &ar,
const unsigned int version );
155 template <
int spacedim,
typename Number>
160 for (
unsigned int i=0; i<spacedim; ++i)
161 Assert (boundary_points.first[i] <= boundary_points.second[i],
162 ExcMessage (
"Bounding Box can't be created: the point's order should be bottom left, top right!"));
164 this->boundary_points = boundary_points;
168 template <
int spacedim,
typename Number>
169 template<
class Archive>
176 DEAL_II_NAMESPACE_CLOSE
void merge_with(const BoundingBox< spacedim, Number > &other_bbox)
static ::ExceptionBase & ExcMessage(std::string arg1)
#define Assert(cond, exc)
NeighborType get_neighbor_type(const BoundingBox< spacedim, Number > &other_bbox) const
bool point_inside(const Point< spacedim, Number > &p) const
void serialize(Archive &ar, const unsigned int version)
const std::pair< Point< spacedim, Number >, Point< spacedim, Number > > & get_boundary_points() const