Developer Documentation
SplatCloud::SplatPropertyT< T > Class Template Reference

#include <Type-SplatCloud/ObjectTypes/SplatCloud/SplatCloud/SplatCloud.hh>

Inheritance diagram for SplatCloud::SplatPropertyT< T >:
SplatCloud::SplatPropertyInterface

Public Types

typedef T Value
 Value type. More...
 
typedef std::vector< T >::reference Reference
 These are references to T, not to SplatPropertyT<T>. More...
 
typedef std::vector< T >::const_reference ConstReference
 These are used because a std::vector<bool>::reference is not the same as a reference to bool. More...
 

Public Member Functions

 SplatPropertyT (const PropertyHandleT< T > &_handle, unsigned int _num)
 Constructor. More...
 
Reference data (int _idx)
 Access the data as reference. More...
 
ConstReference data (int _idx) const
 Access the data as const reference. More...
 
virtual size_t sizeOf () const override
 Get the size of type. More...
 
virtual const std::type_info & typeId () const override
 Get the runtime type information. More...
 
virtual size_t sizeOf () const =0
 Get the size of type. More...
 
virtual const std::type_info & typeId () const =0
 Get the runtime type information. More...
 

Private Member Functions

virtual ~SplatPropertyT ()
 Destructor. More...
 
virtual SplatPropertyTclone () const override
 Return a deep copy of this. More...
 
virtual void clear () override
 Clear the data vector. More...
 
virtual void pushback () override
 Add one element at the end of the data vector. More...
 
virtual void resize (unsigned int _num) override
 Resize the data vector. More...
 
virtual void crop (const std::vector< int > &_indices) override
 Keep only the elements with given indices in the data vector. The indices have to be valid, sorted and unique. More...
 
void operator= (const SplatPropertyT< T > &)=delete
 

Private Attributes

std::vector< T > data_
 The actual stored data (one element per splat) More...
 

Friends

class SplatCloud
 Let class SplatCloud access methods like clone(). More...
 

Detailed Description

template<typename T>
class SplatCloud::SplatPropertyT< T >

Type specific class for splat-properties

Definition at line 293 of file SplatCloud.hh.

Member Typedef Documentation

◆ ConstReference

template<typename T >
typedef std::vector<T>::const_reference SplatCloud::SplatPropertyT< T >::ConstReference

These are used because a std::vector<bool>::reference is not the same as a reference to bool.

Definition at line 299 of file SplatCloud.hh.

◆ Reference

template<typename T >
typedef std::vector<T>::reference SplatCloud::SplatPropertyT< T >::Reference

These are references to T, not to SplatPropertyT<T>.

Definition at line 298 of file SplatCloud.hh.

◆ Value

template<typename T >
typedef T SplatCloud::SplatPropertyT< T >::Value

Value type.

Definition at line 297 of file SplatCloud.hh.

Constructor & Destructor Documentation

◆ SplatPropertyT()

template<typename T >
SplatCloud::SplatPropertyT< T >::SplatPropertyT ( const PropertyHandleT< T > &  _handle,
unsigned int  _num 
)
inlineexplicit

Constructor.

Definition at line 301 of file SplatCloud.hh.

◆ ~SplatPropertyT()

template<typename T >
virtual SplatCloud::SplatPropertyT< T >::~SplatPropertyT ( )
inlineprivatevirtual

Destructor.

Definition at line 308 of file SplatCloud.hh.

Member Function Documentation

◆ clear()

template<typename T >
virtual void SplatCloud::SplatPropertyT< T >::clear ( void  )
inlineoverrideprivatevirtual

Clear the data vector.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 310 of file SplatCloud.hh.

◆ clone()

template<typename T >
virtual SplatPropertyT * SplatCloud::SplatPropertyT< T >::clone ( ) const
inlineoverrideprivatevirtual

Return a deep copy of this.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 309 of file SplatCloud.hh.

◆ crop()

template<typename T >
void SplatCloud::SplatPropertyT< T >::crop ( const std::vector< int > &  _indices)
overrideprivatevirtual

Keep only the elements with given indices in the data vector. The indices have to be valid, sorted and unique.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 170 of file SplatCloudT_impl.hh.

◆ data() [1/2]

template<typename T >
Reference SplatCloud::SplatPropertyT< T >::data ( int  _idx)
inline

Access the data as reference.

Definition at line 302 of file SplatCloud.hh.

◆ data() [2/2]

template<typename T >
ConstReference SplatCloud::SplatPropertyT< T >::data ( int  _idx) const
inline

Access the data as const reference.

Definition at line 303 of file SplatCloud.hh.

◆ pushback()

template<typename T >
virtual void SplatCloud::SplatPropertyT< T >::pushback ( )
inlineoverrideprivatevirtual

Add one element at the end of the data vector.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 311 of file SplatCloud.hh.

◆ resize()

template<typename T >
virtual void SplatCloud::SplatPropertyT< T >::resize ( unsigned int  _num)
inlineoverrideprivatevirtual

Resize the data vector.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 312 of file SplatCloud.hh.

◆ sizeOf()

template<typename T >
virtual size_t SplatCloud::SplatPropertyT< T >::sizeOf ( ) const
inlineoverridevirtual

Get the size of type.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 305 of file SplatCloud.hh.

◆ typeId()

template<typename T >
virtual const std::type_info & SplatCloud::SplatPropertyT< T >::typeId ( ) const
inlineoverridevirtual

Get the runtime type information.

Implements SplatCloud::SplatPropertyInterface.

Definition at line 306 of file SplatCloud.hh.

Friends And Related Function Documentation

◆ SplatCloud

template<typename T >
friend class SplatCloud
friend

Let class SplatCloud access methods like clone().

Definition at line 295 of file SplatCloud.hh.

Member Data Documentation

◆ data_

template<typename T >
std::vector<T> SplatCloud::SplatPropertyT< T >::data_
private

The actual stored data (one element per splat)

Definition at line 317 of file SplatCloud.hh.


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