![]() |
OpenMesh
|
Default property class for any type T. More...
#include <OpenMesh/Core/Utils/PropertyT.hh>


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>", const std::string &_internal_type_name="<unknown>") | |
| Default constructor. | |
| PropertyT (const PropertyT &_rhs) | |
| Copy constructor. | |
| 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 (void) 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... | |
| virtual size_t | store (std::ostream &_ostr, bool _swap) const override |
| Store self as one binary block. | |
| virtual size_t | restore (std::istream &_istr, bool _swap) override |
| Restore self from a binary block. More... | |
| 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!!!) | |
| 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< T > * | 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 () |
| Destructor. | |
| 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) |
Default property class for any type T.
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.
|
inlineoverridevirtual |
Restore self from a binary block.
Uses reserve() to set the size of self before restoring.
Implements OpenMesh::BaseProperty.
|
inlineoverridevirtual |
Enable or disable persistency.
Self must be a named property to enable persistency.
Implements OpenMesh::BaseProperty.
|
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.