Open3D (C++ API)  0.18.0
Public Member Functions | Static Public Member Functions
open3d::t::geometry::TensorMap Class Reference

#include <TensorMap.h>

Inheritance diagram for open3d::t::geometry::TensorMap:

Public Member Functions

 TensorMap (const std::string &primary_key)
 Create empty TensorMap and set primary key. More...
 
 TensorMap ()
 
template<class InputIt >
 TensorMap (const std::string &primary_key, InputIt first, InputIt last)
 
 TensorMap (const std::string &primary_key, const std::unordered_map< std::string, core::Tensor > &tensor_map)
 
 TensorMap (const std::string &primary_key, std::initializer_list< value_type > init)
 
 TensorMap (const TensorMap &other)
 Copy constructor performs a "shallow" copy of the Tensors. More...
 
 TensorMap (TensorMap &&other)
 Move constructor performs a "shallow" copy of the Tensors. More...
 
std::size_t Erase (const std::string key)
 Erase elements for the TensorMap by key value, if the key exists. If the key does not exists, a warning is thrown. Also primary_key cannot be deleted. It is based on size_type unordered_map::erase(const key_type& k);. More...
 
std::pair< iterator, bool > insert (const value_type &value)
 
template<class P >
std::pair< iterator, bool > insert (P &&value)
 
iterator insert (const_iterator hint, const value_type &value)
 
template<class P >
iterator insert (const_iterator hint, P &&value)
 
template<class InputIt >
void insert (InputIt first, InputIt last)
 
void insert (std::initializer_list< value_type > ilist)
 
TensorMapoperator= (const TensorMap &)=default
 
TensorMapoperator= (TensorMap &&)=default
 
std::string GetPrimaryKey () const
 Returns the primary key of the TensorMap. More...
 
std::unordered_set< std::string > GetKeySet () const
 Returns a set with all keys. More...
 
bool IsSizeSynchronized () const
 Returns true if all tensors in the map have the same size. More...
 
void AssertSizeSynchronized () const
 Assert IsSizeSynchronized(). More...
 
bool IsContiguous () const
 
TensorMap Contiguous () const
 
bool Contains (const std::string &key) const
 
std::string ToString () const
 Print the TensorMap to string. More...
 

Static Public Member Functions

static std::unordered_set< std::string > GetReservedKeys ()
 Get reserved keys for the map. A map cannot contain any of these keys. More...
 

Detailed Description

TensorMap is a unordered_map<string, Tensor> with a primary key. It is typically used as a container for geometry attributes.

e.g. tensor_map.primary_key: "positions" tensor_map["positions"] : Tensor of shape {100, 3}. tensor_map["colors"] : Tensor of shape {100, 3}. tensor_map["normals"] : Tensor of shape {100, 3}.

Typically, tensors in the TensorMap should have the same length (the first dimension of shape) and device as the primary tensor.

Constructor & Destructor Documentation

◆ TensorMap() [1/7]

open3d::t::geometry::TensorMap::TensorMap ( const std::string &  primary_key)
inlineexplicit

Create empty TensorMap and set primary key.

◆ TensorMap() [2/7]

open3d::t::geometry::TensorMap::TensorMap ( )
inlineexplicit

A primary key is always required. This constructor can be marked as delete in C++, but it is needed for pybind to bind as a generic python map interface.

◆ TensorMap() [3/7]

template<class InputIt >
open3d::t::geometry::TensorMap::TensorMap ( const std::string &  primary_key,
InputIt  first,
InputIt  last 
)
inline

◆ TensorMap() [4/7]

open3d::t::geometry::TensorMap::TensorMap ( const std::string &  primary_key,
const std::unordered_map< std::string, core::Tensor > &  tensor_map 
)
inline

◆ TensorMap() [5/7]

open3d::t::geometry::TensorMap::TensorMap ( const std::string &  primary_key,
std::initializer_list< value_type >  init 
)
inline

◆ TensorMap() [6/7]

open3d::t::geometry::TensorMap::TensorMap ( const TensorMap other)
inline

Copy constructor performs a "shallow" copy of the Tensors.

◆ TensorMap() [7/7]

open3d::t::geometry::TensorMap::TensorMap ( TensorMap &&  other)
inline

Move constructor performs a "shallow" copy of the Tensors.

Member Function Documentation

◆ AssertSizeSynchronized()

void open3d::t::geometry::TensorMap::AssertSizeSynchronized ( ) const

◆ Contains()

bool open3d::t::geometry::TensorMap::Contains ( const std::string &  key) const
inline

Returns true if the key exists in the map. Same as C++20's std::unordered_map::contains().

◆ Contiguous()

TensorMap open3d::t::geometry::TensorMap::Contiguous ( ) const

Returns a new contiguous TensorMap containing the same data in the same device. For the contiguous tensors in the TensorMap, the same underlying memory will be used.

◆ Erase()

std::size_t open3d::t::geometry::TensorMap::Erase ( const std::string  key)
inline

Erase elements for the TensorMap by key value, if the key exists. If the key does not exists, a warning is thrown. Also primary_key cannot be deleted. It is based on size_type unordered_map::erase(const key_type& k);.

Returns
The number of elements deleted. [0 if key was not present].

◆ GetKeySet()

std::unordered_set<std::string> open3d::t::geometry::TensorMap::GetKeySet ( ) const
inline

Returns a set with all keys.

◆ GetPrimaryKey()

std::string open3d::t::geometry::TensorMap::GetPrimaryKey ( ) const
inline

Returns the primary key of the TensorMap.

◆ GetReservedKeys()

std::unordered_set< std::string > open3d::t::geometry::TensorMap::GetReservedKeys ( )
static

Get reserved keys for the map. A map cannot contain any of these keys.

◆ insert() [1/6]

std::pair<iterator, bool> open3d::t::geometry::TensorMap::insert ( const value_type &  value)
inline

◆ insert() [2/6]

iterator open3d::t::geometry::TensorMap::insert ( const_iterator  hint,
const value_type &  value 
)
inline

◆ insert() [3/6]

template<class P >
iterator open3d::t::geometry::TensorMap::insert ( const_iterator  hint,
P &&  value 
)
inline

◆ insert() [4/6]

template<class InputIt >
void open3d::t::geometry::TensorMap::insert ( InputIt  first,
InputIt  last 
)
inline

◆ insert() [5/6]

template<class P >
std::pair<iterator, bool> open3d::t::geometry::TensorMap::insert ( P &&  value)
inline

◆ insert() [6/6]

void open3d::t::geometry::TensorMap::insert ( std::initializer_list< value_type >  ilist)
inline

◆ IsContiguous()

bool open3d::t::geometry::TensorMap::IsContiguous ( ) const

Returns True if the underlying memory buffers of all the Tensors in the TensorMap is contiguous.

◆ IsSizeSynchronized()

bool open3d::t::geometry::TensorMap::IsSizeSynchronized ( ) const

Returns true if all tensors in the map have the same size.

◆ operator=() [1/2]

TensorMap& open3d::t::geometry::TensorMap::operator= ( const TensorMap )
default

◆ operator=() [2/2]

TensorMap& open3d::t::geometry::TensorMap::operator= ( TensorMap &&  )
default

◆ ToString()

std::string open3d::t::geometry::TensorMap::ToString ( ) const

Print the TensorMap to string.


The documentation for this class was generated from the following files: