template<typename T>
T&& obj,
typename RemoveRef<T>::PointType p,
typename RemoveRef<T>::PointType& pR,
typename RemoveRef<T>::PointType::ScalarType s) {
typename RemoveRef<T>::PointType;
obj.DIM;
RemoveRef<T>();
RemoveRef<T>(p);
RemoveRef<T>(p, p);
{
obj.max() } -> PointConcept;
{ obj.isNull() } -> std::same_as<bool>;
{ obj.isEmpty() } -> std::same_as<bool>;
{ obj.isInside(p) } -> std::same_as<bool>;
{ obj.isInsideOpenBox(p) } -> std::same_as<bool>;
{ obj.overlap(obj) } -> std::same_as<bool>;
{ obj.collide(obj) } -> std::same_as<bool>;
{ obj.intersects(obj) } -> std::same_as<bool>;
{ obj.diagonal() } -> std::same_as<decltype(s)>;
{ obj.squaredDiagonal() } -> std::same_as<decltype(s)>;
{ obj.center() } -> PointConcept;
{ obj.size() } -> PointConcept;
{ obj.volume() } -> std::convertible_to<decltype(s)>;
{ obj.dim(uint()) } -> std::convertible_to<decltype(s)>;
{ obj.minDim() } -> std::convertible_to<decltype(s)>;
{ obj.maxDim() } -> std::convertible_to<decltype(s)>;
{ obj.intersection(obj) } -> std::convertible_to<RemoveRef<T>>;
{ obj == obj } -> std::same_as<bool>;
{ obj != obj } -> std::same_as<bool>;
requires IsConst<T> || requires {
{ obj.min() } -> std::same_as<decltype(pR)>;
{ obj.max() } -> std::same_as<decltype(pR)>;
{ obj.setNull() } -> std::same_as<void>;
{ obj.add(p) } -> std::same_as<void>;
{ obj.add(p, s) } -> std::same_as<void>;
{ obj.add(obj) } -> std::same_as<void>;
{ obj.translate(p) } -> std::same_as<void>;
};
}
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
A concept representing a N-Dimensional Box.
Definition box.h:43
Concept for types representing points in Euclidean space.
Definition point.h:40
A concept representing a N-Dimensional Box.
This concept defines a set of requirements that must be satisfied by any type that wishes to be considered a Box. A Box is a geometric object that is defined by two points in space, typically referred to as the minimum and maximum corners of the box.
- Template Parameters
-
T | The type to be tested for conformity to the BoxConcept. |