pcl::device::Morton Struct Reference

`#include </build/pcl-gWGA5r/pcl-1.10.0+dfsg/gpu/octree/src/utils/morton.hpp>`

## Public Types

using | code_t = int

## 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

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

## Detailed Description

Definition at line 45 of file morton.hpp.

## Member Typedef Documentation

## code_t

using pcl::device::Morton::code_t = int

Definition at line 51 of file morton.hpp.

## Member Function Documentation

## compactBits()

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

inline static

Definition at line 66 of file morton.hpp.

Referenced by decomposeCode().

## createCode()

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

inline static

Definition at line 78 of file morton.hpp.

References spreadBits().

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

## decomposeCode()

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

inline static

Definition at line 84 of file morton.hpp.

References compactBits().

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

## extractLevelCode()

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

inline static

Definition at line 92 of file morton.hpp.

References nbits.

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

## shiftLevelCode()

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

inline static

Definition at line 98 of file morton.hpp.

References nbits.

## spreadBits()

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

inline static

Definition at line 54 of file morton.hpp.

Referenced by createCode().

## Member Data Documentation

## bits_per_level

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

static

Definition at line 48 of file morton.hpp.

## levels

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

static

Definition at line 47 of file morton.hpp.

## nbits

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

static

Definition at line 49 of file morton.hpp.

Referenced by extractLevelCode(), and shiftLevelCode().

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

- /build/pcl-gWGA5r/pcl-1.10.0+dfsg/gpu/octree/src/utils/morton.hpp