OpenMesh
|
Default property class for any type T. More...
#include <OpenMesh/Core/Utils/PropertyT.hh>
Classes | |
struct | plus |
Public Types | |
typedef T | Value |
typedef std::vector< T > | vector_type |
typedef T | value_type |
typedef vector_type::reference | reference |
typedef vector_type::const_reference | const_reference |
Public Member Functions | |
PropertyT (const std::string &_name="<unknown>") | |
Default constructor. | |
PropertyT (const PropertyT &_rhs) | |
Copy constructor. | |
virtual void | reserve (size_t _n) |
Reserve memory for n elements. | |
virtual void | resize (size_t _n) |
Resize storage to hold n elements. | |
virtual void | clear () |
Clear all elements and free memory. | |
virtual void | push_back () |
Extend the number of elements by one. | |
virtual void | swap (size_t _i0, size_t _i1) |
Let two elements swap their storage place. | |
virtual void | set_persistent (bool _yn) |
Enable or disable persistency. | |
virtual size_t | n_elements () const |
Number of elements in property. | |
virtual size_t | element_size () const |
Size of one element in bytes or UnknownSize if not known. | |
virtual size_t | size_of (void) const |
Return size of property in bytes. | |
virtual size_t | size_of (size_t _n_elem) const |
Estimated size of property if it has _n_elem elements. | |
virtual size_t | store (std::ostream &_ostr, bool _swap) const |
Store self as one binary block. | |
virtual size_t | restore (std::istream &_istr, bool _swap) |
Restore self from a binary block. | |
const T * | data () const |
Get pointer to array (does not work for T==bool) | |
vector_type & | data_vector () |
Get reference to property vector (be careful, improper usage, e.g. resizing, may crash OpenMesh!!!) | |
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< T > * | clone () const |
Make a copy of self. |
Default property class for any type T.
Property.hh <OpenMesh/Core/Utils/PropertyT.hh>
The default property class for any type T.
The property supports persistency if T is a "fundamental" type:
long double
: float, doublePersistency of non-fundamental types is supported if and only if a specialization of struct IO::binary<> exists for the wanted type.
Property specialization for bool type. The data will be stored as a bitset.
Property specialization for std::string type.
virtual size_t OpenMesh::PropertyT< T >::restore | ( | std::istream & | _istr, |
bool | _swap | ||
) | [inline, virtual] |
Restore self from a binary block.
Uses reserve() to set the size of self before restoring.
Implements OpenMesh::BaseProperty.
virtual void OpenMesh::PropertyT< T >::set_persistent | ( | bool | _yn | ) | [inline, virtual] |
Enable or disable persistency.
Self must be a named property to enable persistency.
Implements OpenMesh::BaseProperty.
virtual size_t OpenMesh::PropertyT< T >::size_of | ( | size_t | _n_elem | ) | const [inline, virtual] |
Estimated size of property if it has _n_elem elements.
The member returns UnknownSize if the size cannot be estimated.
Reimplemented from OpenMesh::BaseProperty.