Developer Documentation
OpenMesh::PropertyT< bool > Class Reference

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Utils/Property.hh>

Inheritance diagram for OpenMesh::PropertyT< bool >:
OpenMesh::BaseProperty

Public Types

typedef std::vector< bool > vector_type
 
typedef bool value_type
 
typedef vector_type::reference reference
 
typedef vector_type::const_reference const_reference
 

Public Member Functions

 PropertyT (const std::string &_name="<unknown>", const std::string &_internal_type_name="")
 
virtual void reserve (size_t _n) override
 Reserve memory for n elements. More...
 
virtual void resize (size_t _n) override
 Resize storage to hold n elements. More...
 
virtual void clear () override
 Clear all elements and free memory. More...
 
virtual void push_back () override
 Extend the number of elements by one. More...
 
virtual void swap (size_t _i0, size_t _i1) override
 Let two elements swap their storage place. More...
 
virtual void copy (size_t _i0, size_t _i1) override
 Copy one element to another. More...
 
virtual void set_persistent (bool _yn) override
 
virtual size_t n_elements () const override
 Number of elements in property. More...
 
virtual size_t element_size () const override
 Size of one element in bytes or UnknownSize if not known. More...
 
virtual size_t size_of () const override
 Return size of property in bytes. More...
 
virtual size_t size_of (size_t _n_elem) const override
 
size_t store (std::ostream &_ostr, bool) const override
 Store self as one binary block. More...
 
size_t restore (std::istream &_istr, bool) override
 
vector_type & data_vector ()
 Get reference to property vector (be careful, improper usage, e.g. resizing, may crash OpenMesh!!!) More...
 
const vector_type & data_vector () const
 Const access to property vector. More...
 
reference operator[] (int _idx)
 Access the i'th element. No range check is performed! More...
 
const_reference operator[] (int _idx) const
 Const access to the i'th element. No range check is performed! More...
 
PropertyT< bool > * clone () const override
 Make a copy of self. More...
 
std::string get_storage_name () const override
 returns a unique string for the type of the elements More...
 
- Public Member Functions inherited from OpenMesh::BaseProperty
 BaseProperty (const std::string &_name="<unknown>", const std::string &_internal_type_name="<unknown>")
 Default constructor. More...
 
 BaseProperty (const BaseProperty &_rhs)
 Copy constructor. More...
 
virtual ~BaseProperty ()
 Destructor. More...
 
virtual void reserve (size_t _n)=0
 Reserve memory for n elements. More...
 
virtual void resize (size_t _n)=0
 Resize storage to hold n elements. More...
 
virtual void clear ()=0
 Clear all elements and free memory. More...
 
virtual void push_back ()=0
 Extend the number of elements by one. More...
 
virtual void swap (size_t _i0, size_t _i1)=0
 Let two elements swap their storage place. More...
 
virtual void copy (size_t _io, size_t _i1)=0
 Copy one element to another. More...
 
virtual BasePropertyclone () const =0
 Return a deep copy of self. More...
 
const std::string & name () const
 Return the name of the property. More...
 
const std::string & internal_type_name () const
 Return internal type name of the property for type safe casting alternative to runtime information. More...
 
virtual void stats (std::ostream &_ostr) const
 
bool persistent (void) const
 Returns true if the persistent flag is enabled else false. More...
 
virtual void set_persistent (bool _yn)=0
 
virtual std::string get_storage_name () const =0
 returns a unique string for the type of the elements More...
 
virtual size_t n_elements () const =0
 Number of elements in property. More...
 
virtual size_t element_size () const =0
 Size of one element in bytes or UnknownSize if not known. More...
 
virtual size_t size_of () const
 Return size of property in bytes. More...
 
virtual size_t size_of (size_t _n_elem) const
 
virtual size_t store (std::ostream &_ostr, bool _swap) const =0
 Store self as one binary block. More...
 
virtual size_t restore (std::istream &_istr, bool _swap)=0
 

Private Attributes

vector_type data_
 

Additional Inherited Members

- Static Public Attributes inherited from OpenMesh::BaseProperty
static const size_t UnknownSize = size_t(-1)
 Indicates an error when a size is returned by a member. More...
 
- Protected Member Functions inherited from OpenMesh::BaseProperty
template<typename T >
void check_and_set_persistent (bool _yn)
 

Detailed Description

Property specialization for bool type.

The data will be stored as a bitset.

Definition at line 233 of file Property.hh.

Member Typedef Documentation

◆ const_reference

typedef vector_type::const_reference OpenMesh::PropertyT< bool >::const_reference

Definition at line 240 of file Property.hh.

◆ reference

typedef vector_type::reference OpenMesh::PropertyT< bool >::reference

Definition at line 239 of file Property.hh.

◆ value_type

typedef bool OpenMesh::PropertyT< bool >::value_type

Definition at line 238 of file Property.hh.

◆ vector_type

typedef std::vector<bool> OpenMesh::PropertyT< bool >::vector_type

Definition at line 237 of file Property.hh.

Constructor & Destructor Documentation

◆ PropertyT()

OpenMesh::PropertyT< bool >::PropertyT ( const std::string &  _name = "<unknown>",
const std::string &  _internal_type_name = "" 
)
inlineexplicit

Definition at line 244 of file Property.hh.

Member Function Documentation

◆ clear()

virtual void OpenMesh::PropertyT< bool >::clear ( )
inlineoverridevirtual

Clear all elements and free memory.

Implements OpenMesh::BaseProperty.

Definition at line 252 of file Property.hh.

◆ clone()

PropertyT< bool > * OpenMesh::PropertyT< bool >::clone ( ) const
inlineoverridevirtual

Make a copy of self.

Implements OpenMesh::BaseProperty.

Definition at line 377 of file Property.hh.

◆ copy()

virtual void OpenMesh::PropertyT< bool >::copy ( size_t  _io,
size_t  _i1 
)
inlineoverridevirtual

Copy one element to another.

Implements OpenMesh::BaseProperty.

Definition at line 256 of file Property.hh.

◆ data_vector() [1/2]

vector_type & OpenMesh::PropertyT< bool >::data_vector ( )
inline

Get reference to property vector (be careful, improper usage, e.g. resizing, may crash OpenMesh!!!)

Definition at line 353 of file Property.hh.

◆ data_vector() [2/2]

const vector_type & OpenMesh::PropertyT< bool >::data_vector ( ) const
inline

Const access to property vector.

Definition at line 358 of file Property.hh.

◆ element_size()

virtual size_t OpenMesh::PropertyT< bool >::element_size ( ) const
inlineoverridevirtual

Size of one element in bytes or UnknownSize if not known.

Implements OpenMesh::BaseProperty.

Definition at line 267 of file Property.hh.

◆ get_storage_name()

std::string OpenMesh::PropertyT< bool >::get_storage_name ( ) const
inlineoverridevirtual

returns a unique string for the type of the elements

Implements OpenMesh::BaseProperty.

Definition at line 383 of file Property.hh.

◆ n_elements()

virtual size_t OpenMesh::PropertyT< bool >::n_elements ( ) const
inlineoverridevirtual

Number of elements in property.

Implements OpenMesh::BaseProperty.

Definition at line 266 of file Property.hh.

◆ operator[]() [1/2]

reference OpenMesh::PropertyT< bool >::operator[] ( int  _idx)
inline

Access the i'th element. No range check is performed!

Definition at line 363 of file Property.hh.

◆ operator[]() [2/2]

const_reference OpenMesh::PropertyT< bool >::operator[] ( int  _idx) const
inline

Const access to the i'th element. No range check is performed!

Definition at line 370 of file Property.hh.

◆ push_back()

virtual void OpenMesh::PropertyT< bool >::push_back ( )
inlineoverridevirtual

Extend the number of elements by one.

Implements OpenMesh::BaseProperty.

Definition at line 253 of file Property.hh.

◆ reserve()

virtual void OpenMesh::PropertyT< bool >::reserve ( size_t  _n)
inlineoverridevirtual

Reserve memory for n elements.

Implements OpenMesh::BaseProperty.

Definition at line 250 of file Property.hh.

◆ resize()

virtual void OpenMesh::PropertyT< bool >::resize ( size_t  _n)
inlineoverridevirtual

Resize storage to hold n elements.

Implements OpenMesh::BaseProperty.

Definition at line 251 of file Property.hh.

◆ restore()

size_t OpenMesh::PropertyT< bool >::restore ( std::istream &  _istr,
bool  _swap 
)
inlineoverridevirtual

Restore self from a binary block. Uses reserve() to set the size of self before restoring.

Implements OpenMesh::BaseProperty.

Definition at line 313 of file Property.hh.

◆ set_persistent()

virtual void OpenMesh::PropertyT< bool >::set_persistent ( bool  _yn)
inlineoverridevirtual

Enable or disable persistency. Self must be a named property to enable persistency.

Implements OpenMesh::BaseProperty.

Definition at line 261 of file Property.hh.

◆ size_of() [1/2]

virtual size_t OpenMesh::PropertyT< bool >::size_of ( void  ) const
inlineoverridevirtual

Return size of property in bytes.

Reimplemented from OpenMesh::BaseProperty.

Definition at line 268 of file Property.hh.

◆ size_of() [2/2]

virtual size_t OpenMesh::PropertyT< bool >::size_of ( size_t  _n_elem) const
inlineoverridevirtual

Estimated size of property if it has _n_elem elements. The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenMesh::BaseProperty.

Definition at line 269 of file Property.hh.

◆ store()

size_t OpenMesh::PropertyT< bool >::store ( std::ostream &  _ostr,
bool  _swap 
) const
inlineoverridevirtual

Store self as one binary block.

Implements OpenMesh::BaseProperty.

Definition at line 274 of file Property.hh.

◆ swap()

virtual void OpenMesh::PropertyT< bool >::swap ( size_t  _i0,
size_t  _i1 
)
inlineoverridevirtual

Let two elements swap their storage place.

Implements OpenMesh::BaseProperty.

Definition at line 254 of file Property.hh.

Member Data Documentation

◆ data_

vector_type OpenMesh::PropertyT< bool >::data_
private

Definition at line 391 of file Property.hh.


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