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.
virtual void resize (size_t _n) override
 Resize storage to hold n elements.
virtual void clear () override
 Clear all elements and free memory.
virtual void push_back () override
 Extend the number of elements by one.
virtual void swap (size_t _i0, size_t _i1) override
 Let two elements swap their storage place.
virtual void copy (size_t _i0, size_t _i1) override
 Copy one element to another.
virtual void set_persistent (bool _yn) override
 Enable or disable persistency. More...
virtual size_t n_elements () const override
 Number of elements in property.
virtual size_t element_size () const override
 Size of one element in bytes or UnknownSize if not known.
virtual size_t size_of () const override
 Return size of property in bytes.
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.
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.
std::string get_storage_name () const override
 returns a unique string for the type of the elements
- 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 ()
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.

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

◆ restore()

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

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)

Enable or disable persistency.

Self must be a named property to enable persistency.

Implements OpenMesh::BaseProperty.

◆ size_of()

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

Estimated size of property if it has _n_elem elements.

The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenMesh::BaseProperty.

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

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