Open3D (C++ API)  0.12.0
Data Structures | Namespaces | Macros | Functions
GeneralEWSharedImpl.h File Reference

(313315d (Wed Dec 23 23:39:47 2020 -0800))

#include <atomic>
#include "open3d/core/Dispatch.h"
#include "open3d/core/Dtype.h"
#include "open3d/core/MemoryManager.h"
#include "open3d/core/SizeVector.h"
#include "open3d/core/Tensor.h"
#include "open3d/core/kernel/GeneralEW.h"
#include "open3d/core/kernel/GeneralEWMacros.h"
#include "open3d/core/kernel/GeneralIndexer.h"
#include "open3d/utility/Console.h"

Go to the source code of this file.

Data Structures

struct  open3d::core::kernel::Voxel32f
 
struct  open3d::core::kernel::ColoredVoxel16i
 
struct  open3d::core::kernel::ColoredVoxel32f
 

Namespaces

 open3d
 
 open3d::core
 
 open3d::core::kernel
 

Macros

#define OPEN3D_ATOMIC_ADD(X, Y)   (*X).fetch_add(Y)
 
#define DISPATCH_BYTESIZE_TO_VOXEL(BYTESIZE, ...)
 

Functions

template<typename voxel_t >
OPEN3D_DEVICE voxel_t * open3d::core::kernel::DeviceGetVoxelAt (int xo, int yo, int zo, int curr_block_idx, int resolution, const NDArrayIndexer &nb_block_masks_indexer, const NDArrayIndexer &nb_block_indices_indexer, const NDArrayIndexer &blocks_indexer)
 
template<typename voxel_t >
OPEN3D_DEVICE void open3d::core::kernel::DeviceGetNormalAt (int xo, int yo, int zo, int curr_block_idx, float *n, int resolution, float voxel_size, const NDArrayIndexer &nb_block_masks_indexer, const NDArrayIndexer &nb_block_indices_indexer, const NDArrayIndexer &blocks_indexer)
 
void open3d::core::kernel::CPUUnprojectKernel (const std::unordered_map< std::string, Tensor > &srcs, std::unordered_map< std::string, Tensor > &dsts)
 
void open3d::core::kernel::CPUTSDFIntegrateKernel (const std::unordered_map< std::string, Tensor > &srcs, std::unordered_map< std::string, Tensor > &dsts)
 
void open3d::core::kernel::CPUPointExtractionKernel (const std::unordered_map< std::string, Tensor > &srcs, std::unordered_map< std::string, Tensor > &dsts)
 
void open3d::core::kernel::CPUMeshExtractionKernel (const std::unordered_map< std::string, Tensor > &srcs, std::unordered_map< std::string, Tensor > &dsts)
 

Macro Definition Documentation

◆ DISPATCH_BYTESIZE_TO_VOXEL

#define DISPATCH_BYTESIZE_TO_VOXEL (   BYTESIZE,
  ... 
)
Value:
[&] { \
if (BYTESIZE == sizeof(ColoredVoxel32f)) { \
using voxel_t = ColoredVoxel32f; \
return __VA_ARGS__(); \
} else if (BYTESIZE == sizeof(ColoredVoxel16i)) { \
using voxel_t = ColoredVoxel16i; \
return __VA_ARGS__(); \
} else if (BYTESIZE == sizeof(Voxel32f)) { \
using voxel_t = Voxel32f; \
return __VA_ARGS__(); \
} else { \
utility::LogError("Unsupported voxel bytesize"); \
} \
}()
void LogError(const char *format, const Args &... args)
Definition: Console.h:176

◆ OPEN3D_ATOMIC_ADD

#define OPEN3D_ATOMIC_ADD (   X,
 
)    (*X).fetch_add(Y)