Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Types | Public Member Functions | Public Attributes
pcl::cuda::PointCloudSOA< Storage > Class Template Reference

PointCloudSOA represents a SOA (Struct of Arrays) PointCloud implementation for CUDA processing. More...

#include </__w/1/s/cuda/common/include/pcl/cuda/point_cloud.h>

Public Types

using Ptr = shared_ptr< PointCloudSOA< Storage > >
 
using ConstPtr = shared_ptr< const PointCloudSOA< Storage > >
 
using tuple_type = thrust::tuple< float, float, float >
 
using float_iterator = typename Storage< float >::type::iterator
 
using iterator_tuple = thrust::tuple< float_iterator, float_iterator, float_iterator >
 
using zip_iterator = thrust::zip_iterator< iterator_tuple >
 

Public Member Functions

 PointCloudSOA ()
 
PointCloudSOAoperator= (const PointCloudSOA &rhs)
 
template<typename OtherStorage >
PointCloudSOAoperator<< (const OtherStorage &rhs)
 
void resize (std::size_t newsize)
 Resize the internal point data vectors. More...
 
std::size_t size () const
 Return the size of the internal vectors. More...
 
bool sane () const
 Check if the internal point data vectors are valid. More...
 
zip_iterator zip_begin ()
 
zip_iterator zip_end ()
 

Public Attributes

Storage< float >::type points_x
 The point data. More...
 
Storage< float >::type points_y
 
Storage< float >::type points_z
 
Storage< int >::type rgb
 
unsigned int width
 The point cloud width (if organized as an image-structure). More...
 
unsigned int height
 The point cloud height (if organized as an image-structure). More...
 
bool is_dense
 True if no points are invalid (e.g., have NaN or Inf values). More...
 

Detailed Description

template<template< typename > class Storage>
class pcl::cuda::PointCloudSOA< Storage >

PointCloudSOA represents a SOA (Struct of Arrays) PointCloud implementation for CUDA processing.

Definition at line 207 of file point_cloud.h.

Member Typedef Documentation

◆ ConstPtr

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::ConstPtr = shared_ptr<const PointCloudSOA<Storage> >

Definition at line 281 of file point_cloud.h.

◆ float_iterator

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::float_iterator = typename Storage<float>::type::iterator

Definition at line 286 of file point_cloud.h.

◆ iterator_tuple

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::iterator_tuple = thrust::tuple<float_iterator, float_iterator, float_iterator>

Definition at line 287 of file point_cloud.h.

◆ Ptr

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::Ptr = shared_ptr<PointCloudSOA<Storage> >

Definition at line 280 of file point_cloud.h.

◆ tuple_type

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::tuple_type = thrust::tuple<float, float, float>

Definition at line 285 of file point_cloud.h.

◆ zip_iterator

template<template< typename > class Storage>
using pcl::cuda::PointCloudSOA< Storage >::zip_iterator = thrust::zip_iterator<iterator_tuple>

Definition at line 288 of file point_cloud.h.

Constructor & Destructor Documentation

◆ PointCloudSOA()

template<template< typename > class Storage>
pcl::cuda::PointCloudSOA< Storage >::PointCloudSOA ( )
inline

Definition at line 210 of file point_cloud.h.

Member Function Documentation

◆ operator<<()

template<template< typename > class Storage>
template<typename OtherStorage >
PointCloudSOA& pcl::cuda::PointCloudSOA< Storage >::operator<< ( const OtherStorage &  rhs)
inline

◆ operator=()

template<template< typename > class Storage>
PointCloudSOA& pcl::cuda::PointCloudSOA< Storage >::operator= ( const PointCloudSOA< Storage > &  rhs)
inline

◆ resize()

template<template< typename > class Storage>
void pcl::cuda::PointCloudSOA< Storage >::resize ( std::size_t  newsize)
inline

◆ sane()

template<template< typename > class Storage>
bool pcl::cuda::PointCloudSOA< Storage >::sane ( ) const
inline

◆ size()

template<template< typename > class Storage>
std::size_t pcl::cuda::PointCloudSOA< Storage >::size ( ) const
inline

Return the size of the internal vectors.

Definition at line 252 of file point_cloud.h.

References pcl::cuda::PointCloudSOA< Storage >::points_x, and pcl::cuda::PointCloudSOA< Storage >::sane().

◆ zip_begin()

template<template< typename > class Storage>
zip_iterator pcl::cuda::PointCloudSOA< Storage >::zip_begin ( )
inline

◆ zip_end()

template<template< typename > class Storage>
zip_iterator pcl::cuda::PointCloudSOA< Storage >::zip_end ( )
inline

Member Data Documentation

◆ height

template<template< typename > class Storage>
unsigned int pcl::cuda::PointCloudSOA< Storage >::height

The point cloud height (if organized as an image-structure).

Definition at line 275 of file point_cloud.h.

Referenced by pcl::cuda::PointCloudSOA< Storage >::operator<<(), and pcl::cuda::PointCloudSOA< Storage >::operator=().

◆ is_dense

template<template< typename > class Storage>
bool pcl::cuda::PointCloudSOA< Storage >::is_dense

True if no points are invalid (e.g., have NaN or Inf values).

Definition at line 278 of file point_cloud.h.

Referenced by pcl::cuda::PointCloudSOA< Storage >::operator<<(), and pcl::cuda::PointCloudSOA< Storage >::operator=().

◆ points_x

template<template< typename > class Storage>
Storage<float>::type pcl::cuda::PointCloudSOA< Storage >::points_x

◆ points_y

template<template< typename > class Storage>
Storage<float>::type pcl::cuda::PointCloudSOA< Storage >::points_y

◆ points_z

template<template< typename > class Storage>
Storage<float>::type pcl::cuda::PointCloudSOA< Storage >::points_z

◆ rgb

template<template< typename > class Storage>
Storage<int>::type pcl::cuda::PointCloudSOA< Storage >::rgb

Definition at line 270 of file point_cloud.h.

◆ width

template<template< typename > class Storage>
unsigned int pcl::cuda::PointCloudSOA< Storage >::width

The point cloud width (if organized as an image-structure).

Definition at line 273 of file point_cloud.h.

Referenced by pcl::cuda::PointCloudSOA< Storage >::operator<<(), and pcl::cuda::PointCloudSOA< Storage >::operator=().


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