43 #include <pcl/gpu/containers/device_array.h>
44 #include <pcl/gpu/kinfu/pixel_rgb.h>
45 #include <Eigen/Geometry>
59 using Ptr = shared_ptr<RayCaster>;
76 RayCaster(
int rows = 480,
int cols = 640,
float fx = 525.f,
float fy = 525.f,
float cx = -1,
float cy = -1);
80 setIntrinsics(
float fx = 525.f,
float fy = 525.f,
float cx = -1,
float cy = -1);
118 float fx_, fy_, cx_, cy_;
136 Eigen::Affine3f camera_pose_;
139 Eigen::Vector3f volume_size_;
146 template<
typename Po
intType>
Defines all the PCL implemented PointT point type structures.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
void convertMapToOranizedCloud(const RayCaster::MapArr &map, DeviceArray2D< PointType > &cloud)
Converts from map representation to organized not-dence point cloud.
Defines all the PCL and non-PCL macros used.
Class that performs raycasting for TSDF volume.
MapArr getVertexMap() const
Returns raycasterd vertex map.
void generateDepthImage(Depth &depth) const
Generates depth image using data raycasted by run method.
const int cols
Image with height.
void run(const TsdfVolume &volume, const Eigen::Affine3f &camera_pose)
Runs raycasting algorithm from given camera pose.
MapArr getNormalMap() const
Returns raycasterd normal map.
void generateSceneView(View &view, const Eigen::Vector3f &light_source_pose) const
Generates scene view using data raycasted by run method.
void setIntrinsics(float fx=525.f, float fy=525.f, float cx=-1, float cy=-1)
Sets camera intrinsics.
shared_ptr< const RayCaster > ConstPtr
void generateSceneView(View &view) const
Generates scene view using data raycasted by run method.
RayCaster(int rows=480, int cols=640, float fx=525.f, float fy=525.f, float cx=-1, float cy=-1)
Constructor.
shared_ptr< RayCaster > Ptr