OpenMesh
OpenMesh::PropertyT< bool > Class Reference

Property specialization for bool type. More...

#include <OpenMesh/Core/Utils/Property.hh>

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

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
 Enable or disable persistency. More...
 
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
 Estimated size of property if it has _n_elem elements. More...
 
size_t store (std::ostream &_ostr, bool) const override
 Store self as one binary block. More...
 
size_t restore (std::istream &_istr, bool) override
 Restore self from a binary block. More...
 
vector_type & data_vector ()
 Get reference to property vector (be careful, improper usage, e.g. resizing, may crash OpenMesh!!!)
 
const vector_type & data_vector () const
 Const access to property vector.
 
reference operator[] (int _idx)
 Access the i'th element. No range check is performed!
 
const_reference operator[] (int _idx) const
 Const access to the i'th element. No range check is performed!
 
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.
 
virtual ~BaseProperty ()
 Destructor.
 
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.
 
const std::string & internal_type_name () const
 Return internal type name of the property for type safe casting alternative to runtime information.
 
virtual void stats (std::ostream &_ostr) const
 
bool persistent (void) const
 Returns true if the persistent flag is enabled else false.
 
virtual void set_persistent (bool _yn)=0
 Enable or disable persistency. More...
 
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
 Estimated size of property if it has _n_elem elements. More...
 
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
 Restore self from a binary block. More...
 

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.
 
- 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.

Member Function Documentation

◆ clear()

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

Clear all elements and free memory.

Implements OpenMesh::BaseProperty.

◆ clone()

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

Make a copy of self.

Implements OpenMesh::BaseProperty.

◆ copy()

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

Copy one element to another.

Implements OpenMesh::BaseProperty.

◆ 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.

◆ 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.

◆ n_elements()

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

Number of elements in property.

Implements OpenMesh::BaseProperty.

◆ push_back()

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

Extend the number of elements by one.

Implements OpenMesh::BaseProperty.

◆ reserve()

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

Reserve memory for n elements.

Implements OpenMesh::BaseProperty.

◆ resize()

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

Resize storage to hold n elements.

Implements OpenMesh::BaseProperty.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ store()

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

Store self as one binary block.

Implements OpenMesh::BaseProperty.

◆ swap()

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

Let two elements swap their storage place.

Implements OpenMesh::BaseProperty.


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

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .