Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
ml
impl
misc
RaggedToDense.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <tbb/parallel_for.h>
11
12
namespace
open3d
{
13
namespace
ml
{
14
namespace
impl
{
15
49
template
<
class
T>
50
void
RaggedToDenseCPU
(
const
T*
const
values,
51
const
int64_t*
const
row_splits,
52
const
size_t
row_splits_size,
53
const
size_t
out_col_size,
54
const
T*
const
default_value,
55
const
size_t
default_value_size,
56
T* out_values) {
57
tbb::parallel_for(
58
tbb::blocked_range<size_t>(0, row_splits_size - 1),
59
[&](
const
tbb::blocked_range<size_t>& r) {
60
for
(int64_t i = r.begin(); i != r.end(); ++i) {
61
const
int64_t start = row_splits[i];
62
const
int64_t end = std::min(int64_t(out_col_size) + start,
63
row_splits[i + 1]);
64
65
T* out_ptr =
66
out_values + i * out_col_size * default_value_size;
67
68
std::copy(values + start * default_value_size,
69
values + end * default_value_size, out_ptr);
70
71
// fill remaining columns with the default value
72
out_ptr = out_ptr + (end - start) * default_value_size;
73
for
(int64_t j = end - start; j < out_col_size;
74
++j, out_ptr += default_value_size) {
75
std::copy(default_value,
76
default_value + default_value_size, out_ptr);
77
}
78
}
79
});
80
}
81
82
}
// namespace impl
83
}
// namespace ml
84
}
// namespace open3d
open3d::ml::impl
Definition
ContinuousConv.h:16
open3d::ml::impl::RaggedToDenseCPU
void RaggedToDenseCPU(const T *const values, const int64_t *const row_splits, const size_t row_splits_size, const size_t out_col_size, const T *const default_value, const size_t default_value_size, T *out_values)
Definition
RaggedToDense.h:50
open3d::ml
Definition
Cloud.cpp:53
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0