Public Member Functions | Private Member Functions | Private Attributes | List of all members
mcl_3dl::RaycastUsingDDA< POINT_TYPE > Class Template Reference

#include <raycast_using_dda.h>

Inheritance diagram for mcl_3dl::RaycastUsingDDA< POINT_TYPE >:
Inheritance graph
[legend]

Public Member Functions

bool getNextCastResult (CastResult &result) final
 
 RaycastUsingDDA (const double map_grid_size_x, const double map_grid_size_y, const double map_grid_size_z, const double dda_grid_size, const double ray_angle_half, const double hit_tolerance)
 
void setRay (typename ChunkedKdtree< POINT_TYPE >::Ptr kdtree, const Vec3 ray_begin, const Vec3 ray_end_org) final
 
- Public Member Functions inherited from mcl_3dl::Raycast< POINT_TYPE >
 Raycast ()
 

Private Member Functions

Vec3 fromIndex (const Eigen::Vector3i &index) const
 
size_t getArrayIndex (const Eigen::Vector3i &cell) const
 
const POINT_TYPE * hasIntersection (const Eigen::Vector3i &target_cell) const
 
bool incrementIndex (const int i)
 
bool isPointWithinMap (const Vec3 &point) const
 
void setExists (const POINT_TYPE *point)
 
Eigen::Vector3i toIndex (const Vec3 &point) const
 
Eigen::Vector3i toIndex (const POINT_TYPE *point) const
 
void updatePointCloud ()
 

Private Attributes

Eigen::Vector3i begin_index_
 
Eigen::Vector3i current_index_
 
const double dda_grid_size_
 
Eigen::Vector3i end_index_
 
const double hit_tolerance_
 
Vec3 initial_edges_
 
ChunkedKdtree< POINT_TYPE >::Ptr kdtree_
 
Eigen::Vector3i map_size_
 
int max_movement_
 
Eigen::Vector4f max_p_
 
const double min_dist_thr_sq_
 
Eigen::Vector4f min_p_
 
pcl::PCLHeader point_cloud_header_
 
std::vector< uint8_t > point_exists_
 
std::unordered_map< size_t, std::vector< const POINT_TYPE * > > points_
 
int pos_
 
const double ray_angle_half_
 
Vec3 ray_begin_
 
Vec3 ray_direction_vector_
 
Eigen::Vector3i step_
 
Vec3 t_delta_
 
Vec3 t_max_
 

Detailed Description

template<typename POINT_TYPE>
class mcl_3dl::RaycastUsingDDA< POINT_TYPE >

Definition at line 51 of file raycast_using_dda.h.

Constructor & Destructor Documentation

template<typename POINT_TYPE>
mcl_3dl::RaycastUsingDDA< POINT_TYPE >::RaycastUsingDDA ( const double  map_grid_size_x,
const double  map_grid_size_y,
const double  map_grid_size_z,
const double  dda_grid_size,
const double  ray_angle_half,
const double  hit_tolerance 
)
inline

Definition at line 56 of file raycast_using_dda.h.

Member Function Documentation

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::fromIndex ( const Eigen::Vector3i &  index) const
inlineprivate

Definition at line 219 of file raycast_using_dda.h.

template<typename POINT_TYPE>
size_t mcl_3dl::RaycastUsingDDA< POINT_TYPE >::getArrayIndex ( const Eigen::Vector3i &  cell) const
inlineprivate

Definition at line 225 of file raycast_using_dda.h.

template<typename POINT_TYPE>
bool mcl_3dl::RaycastUsingDDA< POINT_TYPE >::getNextCastResult ( CastResult result)
inlinefinalvirtual

Implements mcl_3dl::Raycast< POINT_TYPE >.

Definition at line 106 of file raycast_using_dda.h.

template<typename POINT_TYPE>
const POINT_TYPE* mcl_3dl::RaycastUsingDDA< POINT_TYPE >::hasIntersection ( const Eigen::Vector3i &  target_cell) const
inlineprivate

Definition at line 237 of file raycast_using_dda.h.

template<typename POINT_TYPE>
bool mcl_3dl::RaycastUsingDDA< POINT_TYPE >::incrementIndex ( const int  i)
inlineprivate

Definition at line 192 of file raycast_using_dda.h.

template<typename POINT_TYPE>
bool mcl_3dl::RaycastUsingDDA< POINT_TYPE >::isPointWithinMap ( const Vec3 point) const
inlineprivate

Definition at line 260 of file raycast_using_dda.h.

template<typename POINT_TYPE>
void mcl_3dl::RaycastUsingDDA< POINT_TYPE >::setExists ( const POINT_TYPE *  point)
inlineprivate

Definition at line 230 of file raycast_using_dda.h.

template<typename POINT_TYPE>
void mcl_3dl::RaycastUsingDDA< POINT_TYPE >::setRay ( typename ChunkedKdtree< POINT_TYPE >::Ptr  kdtree,
const Vec3  ray_begin,
const Vec3  ray_end_org 
)
inlinefinalvirtual

Implements mcl_3dl::Raycast< POINT_TYPE >.

Definition at line 66 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::toIndex ( const Vec3 point) const
inlineprivate

Definition at line 205 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::toIndex ( const POINT_TYPE *  point) const
inlineprivate

Definition at line 212 of file raycast_using_dda.h.

template<typename POINT_TYPE>
void mcl_3dl::RaycastUsingDDA< POINT_TYPE >::updatePointCloud ( )
inlineprivate

Definition at line 162 of file raycast_using_dda.h.

Member Data Documentation

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::begin_index_
private

Definition at line 286 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::current_index_
private

Definition at line 294 of file raycast_using_dda.h.

template<typename POINT_TYPE>
const double mcl_3dl::RaycastUsingDDA< POINT_TYPE >::dda_grid_size_
private

Definition at line 274 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::end_index_
private

Definition at line 287 of file raycast_using_dda.h.

template<typename POINT_TYPE>
const double mcl_3dl::RaycastUsingDDA< POINT_TYPE >::hit_tolerance_
private

Definition at line 276 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::initial_edges_
private

Definition at line 295 of file raycast_using_dda.h.

template<typename POINT_TYPE>
ChunkedKdtree<POINT_TYPE>::Ptr mcl_3dl::RaycastUsingDDA< POINT_TYPE >::kdtree_
private

Definition at line 272 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::map_size_
private

Definition at line 278 of file raycast_using_dda.h.

template<typename POINT_TYPE>
int mcl_3dl::RaycastUsingDDA< POINT_TYPE >::max_movement_
private

Definition at line 290 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector4f mcl_3dl::RaycastUsingDDA< POINT_TYPE >::max_p_
private

Definition at line 284 of file raycast_using_dda.h.

template<typename POINT_TYPE>
const double mcl_3dl::RaycastUsingDDA< POINT_TYPE >::min_dist_thr_sq_
private

Definition at line 273 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector4f mcl_3dl::RaycastUsingDDA< POINT_TYPE >::min_p_
private

Definition at line 283 of file raycast_using_dda.h.

template<typename POINT_TYPE>
pcl::PCLHeader mcl_3dl::RaycastUsingDDA< POINT_TYPE >::point_cloud_header_
private

Definition at line 279 of file raycast_using_dda.h.

template<typename POINT_TYPE>
std::vector<uint8_t> mcl_3dl::RaycastUsingDDA< POINT_TYPE >::point_exists_
private

Definition at line 281 of file raycast_using_dda.h.

template<typename POINT_TYPE>
std::unordered_map<size_t, std::vector<const POINT_TYPE*> > mcl_3dl::RaycastUsingDDA< POINT_TYPE >::points_
private

Definition at line 282 of file raycast_using_dda.h.

template<typename POINT_TYPE>
int mcl_3dl::RaycastUsingDDA< POINT_TYPE >::pos_
private

Definition at line 291 of file raycast_using_dda.h.

template<typename POINT_TYPE>
const double mcl_3dl::RaycastUsingDDA< POINT_TYPE >::ray_angle_half_
private

Definition at line 275 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::ray_begin_
private

Definition at line 288 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::ray_direction_vector_
private

Definition at line 289 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Eigen::Vector3i mcl_3dl::RaycastUsingDDA< POINT_TYPE >::step_
private

Definition at line 296 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::t_delta_
private

Definition at line 293 of file raycast_using_dda.h.

template<typename POINT_TYPE>
Vec3 mcl_3dl::RaycastUsingDDA< POINT_TYPE >::t_max_
private

Definition at line 292 of file raycast_using_dda.h.


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


mcl_3dl
Author(s): Atsushi Watanabe
autogenerated on Wed May 12 2021 02:16:29