* This class defines a predicate used by ArborXWrappers::BVH to determine
* for given points which of the bounding boxes used to build the
* ArborXWrappers::BVH intersect with them.
+ * @note The class is not supposed to be used in polymorphic context.
*/
- class PointIntersectPredicate : public PointPredicate
+ class PointIntersectPredicate : private PointPredicate
{
public:
/**
template <int dim, typename Number>
PointIntersectPredicate(
const std::vector<dealii::Point<dim, Number>> &points);
+
+ // We need these since we inherit privately to avoid polymorphic use.
+ using PointPredicate::get;
+ using PointPredicate::size;
};
* This class defines a predicate used by ArborXWrappers::BVH to determine
* for given points which are the nearest bounding boxes/points among the ones
* used to build the ArborXWrappers::BVH.
+ * @note The class is not supposed to be used in polymorphic context.
*/
- class PointNearestPredicate : public PointPredicate
+ class PointNearestPredicate : private PointPredicate
{
public:
/**
unsigned int
get_n_nearest_neighbors() const;
+ // We need these since we inherit privately to avoid polymorphic use.
+ using PointPredicate::get;
+ using PointPredicate::size;
+
private:
unsigned int n_nearest_neighbors;
};
* This class is used by ArborXWrappers::BVH to determine for given bounding
* boxes which of the bounding boxes used to build the ArborXWrappers::BVH
* intersect with them.
+ * @note The class is not supposed to be used in polymorphic context.
*/
- class BoundingBoxIntersectPredicate : public BoundingBoxPredicate
+ class BoundingBoxIntersectPredicate : private BoundingBoxPredicate
{
public:
/**
template <int dim, typename Number>
BoundingBoxIntersectPredicate(
const std::vector<dealii::BoundingBox<dim, Number>> &bounding_boxes);
+
+ // We need these since we inherit privately to avoid polymorphic use.
+ using BoundingBoxPredicate::get;
+ using BoundingBoxPredicate::size;
};
* This class is used by ArborXWrappers::BVH to determine for given bounding
* boxes which are the nearest bounding boxes/points among the ones used to
* build the ArborXWrappers::BVH.
+ * @note The class is not supposed to be used in polymorphic context.
*/
- class BoundingBoxNearestPredicate : public BoundingBoxPredicate
+ class BoundingBoxNearestPredicate : private BoundingBoxPredicate
{
public:
/**
unsigned int
get_n_nearest_neighbors() const;
+ // We need these since we inherit privately to avoid polymorphic use.
+ using BoundingBoxPredicate::get;
+ using BoundingBoxPredicate::size;
+
private:
unsigned int n_nearest_neighbors;
};