Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Static Public Member Functions | Static Public Attributes
pcl::device::Morton Struct Reference

#include </__w/1/s/gpu/octree/src/utils/morton.hpp>

Public Types

typedef int code_t
 

Static Public Member Functions

__device__ __host__ static __forceinline__ int spreadBits (int x, int offset)
 
__device__ __host__ static __forceinline__ int compactBits (int x, int offset)
 
__device__ __host__ static __forceinline__ code_t createCode (int cell_x, int cell_y, int cell_z)
 
__device__ __host__ static __forceinline__ void decomposeCode (code_t code, int &cell_x, int &cell_y, int &cell_z)
 
__host__ __device__ static __forceinline__ code_t extractLevelCode (code_t code, int level)
 
__host__ __device__ static __forceinline__ code_t shiftLevelCode (code_t level_code, int level)
 

Static Public Attributes

static const int levels = 10
 
static const int bits_per_level = 3
 
static const int nbits = levels * bits_per_level
 

Detailed Description

Definition at line 45 of file morton.hpp.

Member Typedef Documentation

Definition at line 51 of file morton.hpp.

Member Function Documentation

__device__ __host__ static __forceinline__ int pcl::device::Morton::compactBits ( int  x,
int  offset 
)
inlinestatic

Definition at line 66 of file morton.hpp.

Referenced by decomposeCode().

__device__ __host__ static __forceinline__ code_t pcl::device::Morton::createCode ( int  cell_x,
int  cell_y,
int  cell_z 
)
inlinestatic

Definition at line 78 of file morton.hpp.

References spreadBits().

Referenced by pcl::device::CalcMorton::operator()().

__device__ __host__ static __forceinline__ void pcl::device::Morton::decomposeCode ( code_t  code,
int &  cell_x,
int &  cell_y,
int &  cell_z 
)
inlinestatic

Definition at line 84 of file morton.hpp.

References compactBits().

Referenced by pcl::device::calcBoundingBox().

__host__ __device__ static __forceinline__ code_t pcl::device::Morton::extractLevelCode ( code_t  code,
int  level 
)
inlinestatic

Definition at line 92 of file morton.hpp.

Referenced by pcl::device::CompareByLevelCode::operator()().

__host__ __device__ static __forceinline__ code_t pcl::device::Morton::shiftLevelCode ( code_t  level_code,
int  level 
)
inlinestatic

Definition at line 98 of file morton.hpp.

__device__ __host__ static __forceinline__ int pcl::device::Morton::spreadBits ( int  x,
int  offset 
)
inlinestatic

Definition at line 54 of file morton.hpp.

Referenced by createCode().

Member Data Documentation

const int pcl::device::Morton::bits_per_level = 3
static

Definition at line 48 of file morton.hpp.

const int pcl::device::Morton::levels = 10
static

Definition at line 47 of file morton.hpp.

const int pcl::device::Morton::nbits = levels * bits_per_level
static

Definition at line 49 of file morton.hpp.


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