23 template <
unsigned int DIM>
36 double pathLength{std::numeric_limits<double>::infinity()};
53 explicit operator bool()
const {
return (
status != Status::missed); }
58 bool operator<(const Intersection<DIM>& si)
const {
59 if (
status == Status::unreachable) {
63 if (si.status != Status::unreachable) {
74 if (
status == Status::unreachable) {
78 if (si.
status != Status::unreachable) {
91 template <
typename object_t,
typename representation_t =
object_t>
97 const object_t*
object{
nullptr};
112 template <
typename T = representation_t,
123 const representation_t* sRepresentation)
162 template <
typename intersection_t>
163 bool operator()(
const intersection_t& i1,
const intersection_t& i2)
const {
164 return (i1.object == i2.object);