Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
icl::geom::PointCloudCreatorCL Class Reference

#include <PointCloudCreatorCL.h>

List of all members.

Public Member Functions

ICLGeom_API PointCloudCreatorCL (utils::Size size, const utils::Array2D< Vec > &dirs)
 Constructor.
ICLGeom_API ~PointCloudCreatorCL ()
 Destructor.
ICLGeom_API void setDirectionVectors (const utils::Array2D< Vec > &dirs) throw (utils::ICLException)
 updates the internally used direction vectors
ICLGeom_API void create (bool NEEDS_RAW_TO_MM_MAPPING, const core::Img32f *depthValues, const Vec O, const int DEPTH_DIM, core::DataSegment< float, 3 > xyz, const utils::Array2D< Vec > &dirs, float depthScaling)
 Creates a uncolored pointcloud (called from PointCloudCreator)
ICLGeom_API void createRGB (bool NEEDS_RAW_TO_MM_MAPPING, const core::Img32f *depthValues, const Mat M, const Vec O, const unsigned int COLOR_W, const unsigned int COLOR_H, const int DEPTH_DIM, core::DataSegment< float, 3 > xyz, core::DataSegment< float, 4 > rgba, const core::Img8u *rgbIn, const utils::Array2D< Vec > &dirs, float depthScaling)
 Creates a RGBD-mapped pointcloud (called from PointCloudCreator)
ICLGeom_API bool isCLReady ()
 Returns the openCL status (true=openCL context ready, false=no openCL context available)

Private Attributes

bool clReady
utils::Size size
float * xyzData
math::FixedColVector< float, 4 > * rgbaData
utils::CLProgram program
utils::CLKernel kernelCreate
utils::CLKernel kernelCreateRGB
utils::CLBuffer depthValuesBuffer
utils::CLBuffer matrixBuffer
utils::CLBuffer xyzBuffer
utils::CLBuffer rgbaBuffer
utils::CLBuffer rInBuffer
utils::CLBuffer gInBuffer
utils::CLBuffer bInBuffer
utils::CLBuffer dirsBuffer

Detailed Description

This class is used in PointCloudCreator for GPU-parallelized pointcloud creation


Constructor & Destructor Documentation

Constructor.

Constructs an object of this class.

Parameters:
sizesize of the input core::depth image and output pointcloud
dirsview ray directions calculated in PointCloudCreator

Destructor.


Member Function Documentation

ICLGeom_API void icl::geom::PointCloudCreatorCL::create ( bool  NEEDS_RAW_TO_MM_MAPPING,
const core::Img32f depthValues,
const Vec  O,
const int  DEPTH_DIM,
core::DataSegment< float, 3 >  xyz,
const utils::Array2D< Vec > &  dirs,
float  depthScaling 
)

Creates a uncolored pointcloud (called from PointCloudCreator)

ICLGeom_API void icl::geom::PointCloudCreatorCL::createRGB ( bool  NEEDS_RAW_TO_MM_MAPPING,
const core::Img32f depthValues,
const Mat  M,
const Vec  O,
const unsigned int  COLOR_W,
const unsigned int  COLOR_H,
const int  DEPTH_DIM,
core::DataSegment< float, 3 >  xyz,
core::DataSegment< float, 4 >  rgba,
const core::Img8u rgbIn,
const utils::Array2D< Vec > &  dirs,
float  depthScaling 
)

Creates a RGBD-mapped pointcloud (called from PointCloudCreator)

Returns the openCL status (true=openCL context ready, false=no openCL context available)

Returns:
openCL context ready/unavailable

updates the internally used direction vectors

the underlying chip size must not change, otherwise, and exception is thrown


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines