Template Struct Intersection

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public lvr2::Tp

Struct Documentation

template<typename ...Tp>
struct Intersection : public lvr2::Tp

CRTP Container for User defined intersection elements.

Define your own intersection type that is passed to the Raycaster you like. Allowed elements are in lvr2::intelem

// define you intersection type
using MyIntType = Intersection<intelem::Point, intelem::Face>;
// creating the raycaster
RaycasterBasePtr<MyIntType> rc(new BVHRaycaster(meshbuffer));
// cast a ray
MyIntType intersection_result;
bool hit = rc->castRay(ray_origin, ray_direction, intersection_result);
// print:
if(hit)
{
     std::cout << intersection_result << std::endl;
}
Template Parameters:

Tp – List of intelem::* types

Public Types

using elems = std::tuple<Tp...>

Public Static Functions

template<typename F>
static inline constexpr bool has()

Check if Intersection container has a specific intelem (lvr2::intelem).

Template Parameters:

F – lvr2::intelem type

Returns:

true

Returns:

false

Public Static Attributes

static constexpr std::size_t N = sizeof...(Tp)