Class Acts::ObjectMultiIntersection

template<typename object_t, typename representation_t = object_t>
class ObjectMultiIntersection

class extensions to return also the object and a representation

Public Types

using SplitIntersections = boost::container::static_vector<ObjectIntersection<object_t, representation_t>, s_maximumNumberOfIntersections>

Public Functions

template<typename T = representation_t, std::enable_if_t<std::is_same<T, object_t>::value, int> = 0>
inline constexpr ObjectMultiIntersection(const MultiIntersection3D &intersections, const object_t *object)

Object intersection - symmetric setup.

Parameters
  • intersections – are the intersections

  • object – is the object to be instersected

inline constexpr ObjectMultiIntersection(const MultiIntersection3D &intersections, const object_t *object, const representation_t *representation)

Object intersection.

Parameters
  • intersections – are the intersections

  • object – is the object to be instersected

  • representation – is the object representation

inline constexpr ObjectIntersection<object_t, representation_t> closest() const
inline constexpr const object_t *object() const
inline constexpr ObjectIntersection<object_t, representation_t> operator[](std::uint8_t index) const
inline constexpr const representation_t *representation() const
inline constexpr std::size_t size() const
inline constexpr SplitIntersections split() const