Open3D (C++ API)  0.17.0
Loading...
Searching...
No Matches
TensorKey.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2023 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
12
13namespace open3d {
14namespace core {
15
16// Avoids circular include.
17class Tensor;
18
19// Same as utility::nullopt. Provides a similar Python slicing API.
21
26class TensorKey {
27public:
37 static TensorKey Index(int64_t index);
38
53
65 static TensorKey IndexTensor(const Tensor& index_tensor);
66
69
71 TensorKeyMode GetMode() const;
72
74 std::string ToString() const;
75
76public:
79 int64_t GetIndex() const;
80
83 int64_t GetStart() const;
84
87 int64_t GetStop() const;
88
91 int64_t GetStep() const;
92
104 TensorKey InstantiateDimSize(int64_t dim_size) const;
105
108 Tensor GetIndexTensor() const;
109
110private:
111 class Impl;
112 class IndexImpl;
113 class SliceImpl;
114 class IndexTensorImpl;
115 std::shared_ptr<Impl> impl_;
116 TensorKey(const std::shared_ptr<Impl>& impl);
117};
118
119} // namespace core
120} // namespace open3d
Definition Tensor.h:32
TensorKey is used to represent single index, slice or advanced indexing on a Tensor.
Definition TensorKey.h:26
int64_t GetStart() const
Definition TensorKey.cpp:155
std::string ToString() const
Convert TensorKey to a string representation.
Definition TensorKey.cpp:131
int64_t GetIndex() const
Definition TensorKey.cpp:147
Tensor GetIndexTensor() const
Definition TensorKey.cpp:185
int64_t GetStop() const
Definition TensorKey.cpp:162
TensorKeyMode
Definition TensorKey.h:67
TensorKeyMode GetMode() const
Returns TensorKey mode.
Definition TensorKey.cpp:129
~TensorKey()
Definition TensorKey.h:68
TensorKey InstantiateDimSize(int64_t dim_size) const
Definition TensorKey.cpp:176
int64_t GetStep() const
Definition TensorKey.cpp:169
Definition Optional.h:259
constexpr utility::nullopt_t None
Definition TensorKey.h:20
Definition PinholeCameraIntrinsic.cpp:16
Definition Optional.h:149
Definition Optional.h:148