Developer Documentation
OpenVolumeMesh::PropertyPtr< PropT, HandleT > Class Template Reference

#include <libs_required/OpenVolumeMesh/src/OpenVolumeMesh/Core/PropertyPtr.hh>

Inheritance diagram for OpenVolumeMesh::PropertyPtr< PropT, HandleT >:
OpenVolumeMesh::BaseProperty OpenVolumeMesh::CellPropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::CellPropertyT< ACG::Vec4f > OpenVolumeMesh::CellPropertyT< ColT > OpenVolumeMesh::CellPropertyT< OpenMesh::VectorT > OpenVolumeMesh::CellPropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::EdgePropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::EdgePropertyT< ACG::Vec4f > OpenVolumeMesh::EdgePropertyT< ColT > OpenVolumeMesh::EdgePropertyT< OpenMesh::VectorT > OpenVolumeMesh::EdgePropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::FacePropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::FacePropertyT< ACG::Vec4f > OpenVolumeMesh::FacePropertyT< ColT > OpenVolumeMesh::FacePropertyT< OpenMesh::VectorT > OpenVolumeMesh::FacePropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::FacePropertyT< typename GeomKernelT::PointT > OpenVolumeMesh::FacePropertyT< typename MeshT::PointT > OpenVolumeMesh::FacePropertyT< typename VolumeMesh::PointT > OpenVolumeMesh::FacePropertyT< typename VolumeMeshT::PointT > OpenVolumeMesh::HalfEdgePropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::HalfEdgePropertyT< ACG::Vec4f > OpenVolumeMesh::HalfEdgePropertyT< ColT > OpenVolumeMesh::HalfEdgePropertyT< OpenMesh::VectorT > OpenVolumeMesh::HalfEdgePropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::HalfFacePropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::HalfFacePropertyT< ACG::Vec4f > OpenVolumeMesh::HalfFacePropertyT< ColT > OpenVolumeMesh::HalfFacePropertyT< OpenMesh::VectorT > OpenVolumeMesh::HalfFacePropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::MeshPropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::VertexPropertyT< ACG::OpenMesh::VectorT > OpenVolumeMesh::VertexPropertyT< ACG::Vec2f > OpenVolumeMesh::VertexPropertyT< ACG::Vec4f > OpenVolumeMesh::VertexPropertyT< ColT > OpenVolumeMesh::VertexPropertyT< OpenMesh::VectorT > OpenVolumeMesh::VertexPropertyT< OpenVolumeMesh::OpenVolumeMeshStatus > OpenVolumeMesh::VertexPropertyT< TexCoordT > OpenVolumeMesh::VertexPropertyT< typename GeomKernelT::PointT > OpenVolumeMesh::VertexPropertyT< typename MeshT::PointT > OpenVolumeMesh::VertexPropertyT< typename VolumeMesh::PointT > OpenVolumeMesh::VertexPropertyT< typename VolumeMeshT::PointT >

Public Types

typedef PropT::value_type value_type
 
typedef PropT::vector_type::const_iterator const_iterator
 
typedef PropT::vector_type::iterator iterator
 
typedef PropT::reference reference
 
typedef PropT::const_reference const_reference
 

Public Member Functions

 PropertyPtr (PropT *_ptr, ResourceManager &_resMan, HandleT _handle)
 Constructor.
 
virtual ~PropertyPtr ()
 Destructor.
 
virtual const std::string & name () const
 
virtual void delete_element (size_t _idx)
 
virtual void swap_elements (size_t _idx0, size_t _idx1)
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
reference operator[] (size_t _idx)
 
const_reference operator[] (size_t _idx) const
 
reference operator[] (const OpenVolumeMeshHandle &_h)
 
const_reference operator[] (const OpenVolumeMeshHandle &_h) const
 
virtual OpenVolumeMeshHandle handle () const
 
virtual bool persistent () const
 
virtual bool anonymous () const
 
- Public Member Functions inherited from OpenVolumeMesh::BaseProperty
 BaseProperty (ResourceManager &_resMan)
 
 BaseProperty (const BaseProperty &_cpy)
 
BasePropertyoperator= (const BaseProperty &_cpy)
 
virtual void serialize (std::ostream &_ostr) const =0
 
virtual void deserialize (std::istream &_istr)=0
 
virtual const std::string entityType () const =0
 
virtual const std::string typeNameWrapper () const =0
 

Protected Member Functions

virtual void delete_multiple_entries (const std::vector< bool > &_tags)
 
virtual void resize (unsigned int _size)
 
virtual void set_handle (const OpenVolumeMeshHandle &_handle)
 
- Protected Member Functions inherited from OpenVolumeMesh::BaseProperty
void lock ()
 
void unlock ()
 
bool locked () const
 

Friends

class ResourceManager
 

Additional Inherited Members

- Protected Attributes inherited from OpenVolumeMesh::BaseProperty
ResourceManagerresMan_
 
bool lock_
 

Detailed Description

template<class PropT, class HandleT>
class OpenVolumeMesh::PropertyPtr< PropT, HandleT >

A smart-pointer-like class that counts the encapsulated object's references and automatically deletes the memory as soon as the object is not used anymore.

Definition at line 65 of file PropertyPtr.hh.


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