10 #ifndef SE_VOXEL_BLOCK_RAY_ITERATOR_HPP 11 #define SE_VOXEL_BLOCK_RAY_ITERATOR_HPP 15 #define CAST_STACK_DEPTH 23 21 template<
typename MapT>
23 typedef typename MapT::OctreeType::NodeType NodeType;
24 typedef typename MapT::OctreeType::BlockType BlockType;
28 const Eigen::Vector3f& ray_origin_M,
29 const Eigen::Vector3f& ray_dir_M,
30 const float near_plane,
31 const float far_plane);
85 enum STATE { INIT, ADVANCE, FINISHED };
89 const typename MapT::OctreeType& octree_;
90 Eigen::Vector3f ray_origin_M_;
91 Eigen::Vector3f ray_dir_M_;
93 Eigen::Vector3f t_coef_;
94 Eigen::Vector3f t_bias_;
95 Eigen::Vector3f t_corner_;
97 NodeType* parent_ptr_;
117 static inline int floatAsInt(
const float value)
133 static inline float intAsFloat(
const int value)
147 inline void advance_ray();
152 inline void descend();
161 #include "impl/voxel_block_ray_iterator_impl.hpp" 165 #endif // SE_VOXEL_BLOCK_RAY_ITERATOR_HPP #define CAST_STACK_DEPTH
Definition: voxel_block_ray_iterator.hpp:15
float tcmax() const
The distance along the ray until the current se::VoxelBlock is exited.
float tcmin() const
The distance along the ray until the current se::VoxelBlock is entered.
VoxelBlockRayIterator(const MapT &map, const Eigen::Vector3f &ray_origin_M, const Eigen::Vector3f &ray_dir_M, const float near_plane, const float far_plane)
Definition: voxel_block_ray_iterator.hpp:22
This class only helps to dynamic cast the octant to the right type and builds the base of nodes and b...
Definition: octant.hpp:24
BlockType * next()
Return a pointer to the next se::VoxelBlock along the ray.
float tmin() const
The distance along the ray until the octree is entered.
float tmax() const
The distance along the ray until the octree is exited.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17
static const std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > scale
The colours used for the various integration scales.
Definition: colour_utils.hpp:22