Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
lvr2::Intersection< Tp > Struct Template Reference

CRTP Container for User defined intersection elements. More...

#include <Intersection.hpp>

Inheritance diagram for lvr2::Intersection< Tp >:
Inheritance graph
[legend]

Classes

struct  has_elem
 
struct  has_type
 
struct  has_type< T, std::tuple< T, Ts... > >
 
struct  has_type< T, std::tuple< U, Ts... > >
 
struct  has_type< T, std::tuple<> >
 

Public Types

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

Static Public Member Functions

template<typename F >
static constexpr bool has ()
 Check if Intersection container has a specific intelem (lvr2::intelem). More...
 

Static Public Attributes

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

Detailed Description

template<typename ... Tp>
struct lvr2::Intersection< 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
TpList of intelem::* types

Definition at line 103 of file Intersection.hpp.

Member Typedef Documentation

◆ elems

template<typename ... Tp>
using lvr2::Intersection< Tp >::elems = std::tuple<Tp...>

Definition at line 107 of file Intersection.hpp.

Member Function Documentation

◆ has()

template<typename ... Tp>
template<typename F >
static constexpr bool lvr2::Intersection< Tp >::has ( )
inlinestatic

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

Template Parameters
Flvr2::intelem type
Returns
true
false

Definition at line 137 of file Intersection.hpp.

Member Data Documentation

◆ N

template<typename ... Tp>
constexpr std::size_t lvr2::Intersection< Tp >::N = sizeof...(Tp)
static

Definition at line 106 of file Intersection.hpp.


The documentation for this struct was generated from the following file:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:11