Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

OpenMesh::PropertyT< T > Class Template Reference

Default property class for any type T. More...

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

Inheritance diagram for OpenMesh::PropertyT< T >:

OpenMesh::BaseProperty List of all members.

Public Member Functions

 PropertyT (const std::string &_name="< unknown >")
 Default 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 push_back ()
 Extend the number of elements by one.

virtual void free_mem ()
 Free unused memory.

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

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.


Detailed Description

template<class T>
class OpenMesh::PropertyT< T >

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:

Persistency of non-fundamental types is supported if and only if a specialization of struct IO::binary<> exists for the wanted type.


Member Function Documentation

template<class T>
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.

template<class T>
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.

template<class T>
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.


The documentation for this class was generated from the following file:
acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .