Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
pcl::cuda::PointCloudSOA< Storage > Class Template Reference

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

#include </build/pcl-uIWyNl/pcl-1.15.1+dfsg/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.
std::size_t size () const
 Return the size of the internal vectors.
bool sane () const
 Check if the internal point data vectors are valid.
zip_iterator zip_begin ()
zip_iterator zip_end ()

Public Attributes

Storage< float >::type points_x
 The point data.
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).
unsigned int height
 The point cloud height (if organized as an image-structure).
bool is_dense
 True if no points are invalid (e.g., have NaN or Inf values).

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.

References height, is_dense, and width.

Referenced by operator<<(), and operator=().

Member Function Documentation

◆ operator<<()

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

Definition at line 227 of file point_cloud.h.

References height, is_dense, PointCloudSOA(), points_x, points_y, points_z, and width.

◆ operator=()

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

Definition at line 214 of file point_cloud.h.

References height, is_dense, PointCloudSOA(), points_x, points_y, points_z, and width.

◆ resize()

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

Resize the internal point data vectors.

Parameters
newsizethe new size

Definition at line 242 of file point_cloud.h.

References points_x, points_y, points_z, and sane().

◆ sane()

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

Check if the internal point data vectors are valid.

Definition at line 260 of file point_cloud.h.

References points_x, points_y, and points_z.

Referenced by resize(), and size().

◆ 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 points_x, and sane().

◆ zip_begin()

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

Definition at line 291 of file point_cloud.h.

References points_x, points_y, and points_z.

◆ zip_end()

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

Definition at line 299 of file point_cloud.h.

References points_x, points_y, and points_z.

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 operator<<(), operator=(), and PointCloudSOA().

◆ 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 operator<<(), operator=(), and PointCloudSOA().

◆ points_x

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

The point data.

Definition at line 267 of file point_cloud.h.

Referenced by operator<<(), operator=(), resize(), sane(), size(), zip_begin(), and zip_end().

◆ points_y

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

Definition at line 268 of file point_cloud.h.

Referenced by operator<<(), operator=(), resize(), sane(), zip_begin(), and zip_end().

◆ points_z

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

Definition at line 269 of file point_cloud.h.

Referenced by operator<<(), operator=(), resize(), sane(), zip_begin(), and zip_end().

◆ 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 operator<<(), operator=(), and PointCloudSOA().


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