UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::Integrator< Dim > Class Template Reference
Inheritance diagram for ufo::Integrator< Dim >:
ufo::AngularIntegrator< Dim, SensorErrorFun >

Public Types

using depth_t = unsigned
 
using logit_t = float
 
using occupancy_t = float
 

Public Member Functions

template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void operator() (ExecutionPolicy &&policy, Map &map, PointCloud< Dim, T, Rest... > cloud, Transform< Dim, T > const &transform={}) const
 
template<class Map , class T , class... Rest>
void operator() (Map &map, PointCloud< Dim, T, Rest... > cloud, Transform< Dim, T > const &transform={}) const
 

Public Attributes

CountSamplingMethod count_sample_method = CountSamplingMethod::NONE
 
bool free_hits = false
 
depth_t hit_depth = 0
 
depth_t miss_depth = 0
 
occupancy_t occupancy_hit = 0.75f
 
logit_t occupancy_max_clamp_thres = 0.971f
 
logit_t occupancy_min_clamp_thres = 0.1192f
 
occupancy_t occupancy_miss = 0.45f
 
bool propagate = false
 
bool prune = true
 
bool reset_modified = true
 
DownSamplingMethod sample_method = DownSamplingMethod::NONE
 
bool verbose = false
 
unsigned void_region_distance = 2
 
bool void_region_instant_max_occupancy = true
 
bool void_region_instant_min_occupancy = true
 

Protected Member Functions

template<class Map , class... Ts>
void insertHit (Map &map, TreeIndex const &node, SoAElement< Ts... > const &data, logit_t occupancy, logit_t occupancy_min, logit_t occupancy_max) const
 
template<class Map , class T , class... Ts>
void insertHit (Map &map, Vec< Dim, T > const &sensor_origin, TreeIndex const &node, SoAElement< Ts... > const &data, logit_t occupancy, logit_t occupancy_min, logit_t occupancy_max) const
 
template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insertHits (ExecutionPolicy &&policy, Map &map, PointCloud< Dim, T, Rest... > const &cloud) const
 
template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insertHits (ExecutionPolicy &&policy, Map &map, PointCloud< Dim, T, Rest... > const &cloud, Vec< Dim, T > const &sensor_origin) const
 
template<class Map , class T , class... Rest>
void insertHits (Map &map, PointCloud< Dim, T, Rest... > const &cloud) const
 
template<class Map , class T , class... Rest>
void insertHits (Map &map, PointCloud< Dim, T, Rest... > const &cloud, Vec< Dim, T > const &sensor_origin) const
 
template<class Map >
void insertMiss (Map &map, detail::Miss< Dim > const &miss, logit_t occupancy, logit_t occupancy_min, logit_t occupancy_max) const
 
template<class ExecutionPolicy , class Map , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insertMisses (ExecutionPolicy &&policy, Map &map, std::vector< detail::Miss< Dim > > &misses) const
 
template<class Map >
void insertMisses (Map &map, std::vector< detail::Miss< Dim > > &misses) const
 

Protected Attributes

__block std::vector< detail::Hit< Dim > > cached_hits_
 

Detailed Description

template<std::size_t Dim>
class ufo::Integrator< Dim >

Definition at line 79 of file integrator.hpp.

Member Typedef Documentation

◆ depth_t

template<std::size_t Dim>
using ufo::Integrator< Dim >::depth_t = unsigned

Definition at line 87 of file integrator.hpp.

◆ logit_t

template<std::size_t Dim>
using ufo::Integrator< Dim >::logit_t = float

Definition at line 86 of file integrator.hpp.

◆ occupancy_t

template<std::size_t Dim>
using ufo::Integrator< Dim >::occupancy_t = float

Definition at line 85 of file integrator.hpp.

Member Function Documentation

◆ insertHit() [1/2]

template<std::size_t Dim>
template<class Map , class... Ts>
void ufo::Integrator< Dim >::insertHit ( Map map,
TreeIndex const &  node,
SoAElement< Ts... > const &  data,
logit_t  occupancy,
logit_t  occupancy_min,
logit_t  occupancy_max 
) const
inlineprotected

Definition at line 144 of file integrator.hpp.

◆ insertHit() [2/2]

template<std::size_t Dim>
template<class Map , class T , class... Ts>
void ufo::Integrator< Dim >::insertHit ( Map map,
Vec< Dim, T > const &  sensor_origin,
TreeIndex const &  node,
SoAElement< Ts... > const &  data,
logit_t  occupancy,
logit_t  occupancy_min,
logit_t  occupancy_max 
) const
inlineprotected

Definition at line 228 of file integrator.hpp.

◆ insertHits() [1/4]

template<std::size_t Dim>
template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::Integrator< Dim >::insertHits ( ExecutionPolicy &&  policy,
Map map,
PointCloud< Dim, T, Rest... > const &  cloud 
) const
inlineprotected

Definition at line 200 of file integrator.hpp.

◆ insertHits() [2/4]

template<std::size_t Dim>
template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::Integrator< Dim >::insertHits ( ExecutionPolicy &&  policy,
Map map,
PointCloud< Dim, T, Rest... > const &  cloud,
Vec< Dim, T > const &  sensor_origin 
) const
inlineprotected

Definition at line 292 of file integrator.hpp.

◆ insertHits() [3/4]

template<std::size_t Dim>
template<class Map , class T , class... Rest>
void ufo::Integrator< Dim >::insertHits ( Map map,
PointCloud< Dim, T, Rest... > const &  cloud 
) const
inlineprotected

Definition at line 172 of file integrator.hpp.

◆ insertHits() [4/4]

template<std::size_t Dim>
template<class Map , class T , class... Rest>
void ufo::Integrator< Dim >::insertHits ( Map map,
PointCloud< Dim, T, Rest... > const &  cloud,
Vec< Dim, T > const &  sensor_origin 
) const
inlineprotected

Definition at line 262 of file integrator.hpp.

◆ insertMiss()

template<std::size_t Dim>
template<class Map >
void ufo::Integrator< Dim >::insertMiss ( Map map,
detail::Miss< Dim > const &  miss,
logit_t  occupancy,
logit_t  occupancy_min,
logit_t  occupancy_max 
) const
inlineprotected

Definition at line 328 of file integrator.hpp.

◆ insertMisses() [1/2]

template<std::size_t Dim>
template<class ExecutionPolicy , class Map , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::Integrator< Dim >::insertMisses ( ExecutionPolicy &&  policy,
Map map,
std::vector< detail::Miss< Dim > > &  misses 
) const
inlineprotected

Definition at line 374 of file integrator.hpp.

◆ insertMisses() [2/2]

template<std::size_t Dim>
template<class Map >
void ufo::Integrator< Dim >::insertMisses ( Map map,
std::vector< detail::Miss< Dim > > &  misses 
) const
inlineprotected

Definition at line 354 of file integrator.hpp.

◆ operator()() [1/2]

template<std::size_t Dim>
template<class ExecutionPolicy , class Map , class T , class... Rest, std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::Integrator< Dim >::operator() ( ExecutionPolicy &&  policy,
Map map,
PointCloud< Dim, T, Rest... >  cloud,
Transform< Dim, T > const &  transform = {} 
) const
inline

Definition at line 130 of file integrator.hpp.

◆ operator()() [2/2]

template<std::size_t Dim>
template<class Map , class T , class... Rest>
void ufo::Integrator< Dim >::operator() ( Map map,
PointCloud< Dim, T, Rest... >  cloud,
Transform< Dim, T > const &  transform = {} 
) const
inline

Definition at line 121 of file integrator.hpp.

Member Data Documentation

◆ cached_hits_

template<std::size_t Dim>
__block std::vector<detail::Hit<Dim> > ufo::Integrator< Dim >::cached_hits_
mutableprotected

Definition at line 393 of file integrator.hpp.

◆ count_sample_method

template<std::size_t Dim>
CountSamplingMethod ufo::Integrator< Dim >::count_sample_method = CountSamplingMethod::NONE

Definition at line 106 of file integrator.hpp.

◆ free_hits

template<std::size_t Dim>
bool ufo::Integrator< Dim >::free_hits = false

Definition at line 102 of file integrator.hpp.

◆ hit_depth

template<std::size_t Dim>
depth_t ufo::Integrator< Dim >::hit_depth = 0

Definition at line 89 of file integrator.hpp.

◆ miss_depth

template<std::size_t Dim>
depth_t ufo::Integrator< Dim >::miss_depth = 0

Definition at line 90 of file integrator.hpp.

◆ occupancy_hit

template<std::size_t Dim>
occupancy_t ufo::Integrator< Dim >::occupancy_hit = 0.75f

Definition at line 92 of file integrator.hpp.

◆ occupancy_max_clamp_thres

template<std::size_t Dim>
logit_t ufo::Integrator< Dim >::occupancy_max_clamp_thres = 0.971f

Definition at line 94 of file integrator.hpp.

◆ occupancy_min_clamp_thres

template<std::size_t Dim>
logit_t ufo::Integrator< Dim >::occupancy_min_clamp_thres = 0.1192f

Definition at line 95 of file integrator.hpp.

◆ occupancy_miss

template<std::size_t Dim>
occupancy_t ufo::Integrator< Dim >::occupancy_miss = 0.45f

Definition at line 93 of file integrator.hpp.

◆ propagate

template<std::size_t Dim>
bool ufo::Integrator< Dim >::propagate = false

Definition at line 113 of file integrator.hpp.

◆ prune

template<std::size_t Dim>
bool ufo::Integrator< Dim >::prune = true

Definition at line 114 of file integrator.hpp.

◆ reset_modified

template<std::size_t Dim>
bool ufo::Integrator< Dim >::reset_modified = true

Definition at line 115 of file integrator.hpp.

◆ sample_method

template<std::size_t Dim>
DownSamplingMethod ufo::Integrator< Dim >::sample_method = DownSamplingMethod::NONE

Definition at line 99 of file integrator.hpp.

◆ verbose

template<std::size_t Dim>
bool ufo::Integrator< Dim >::verbose = false

Definition at line 104 of file integrator.hpp.

◆ void_region_distance

template<std::size_t Dim>
unsigned ufo::Integrator< Dim >::void_region_distance = 2

Definition at line 97 of file integrator.hpp.

◆ void_region_instant_max_occupancy

template<std::size_t Dim>
bool ufo::Integrator< Dim >::void_region_instant_max_occupancy = true

Definition at line 109 of file integrator.hpp.

◆ void_region_instant_min_occupancy

template<std::size_t Dim>
bool ufo::Integrator< Dim >::void_region_instant_min_occupancy = true

Definition at line 111 of file integrator.hpp.


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