Public Types | Public Member Functions | Protected Attributes

OpenMesh::Kernel_OSG::oPropertyT< GeoProperty > Class Template Reference

Property adaptor for OpenSG GeoProperties. More...

#include </data1/home1/moebius/projects/release/OpenMesh-2.0/src/OpenMesh/Tools/Kernel_OSG/PropertyT.hh>

Inheritance diagram for OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >:
Inheritance graph
[legend]
Collaboration diagram for OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef GeoProperty property_t
typedef property_t::PtrType property_ptr_t
typedef property_t::StoredFieldType field_t
typedef field_t::StoredType element_t
typedef field_t::StoredType value_type

Public Member Functions

 oPropertyT (property_ptr_t _geo_prop, const std::string &_name="<unknown>")
 oPropertyT (const std::string &_name="<unknown>")
oPropertyToperator= (const oPropertyT &_rhs)
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 swap (size_t _i0, size_t _i1)
 Let two elements swap their storage place.
virtual oPropertyT< property_t > * clone () const
 Return a deep copy of self.
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 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.
void clear (void)
 Clear all elements and free memory.
property_ptr_t & osg_ptr ()
const property_ptr_t & osg_ptr () const
const element_t * data () const
element_t & operator[] (size_t idx)
const element_t & operator[] (size_t idx) const

Protected Attributes

property_ptr_t data_

Detailed Description

template<typename GeoProperty>
class OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >

Property adaptor for OpenSG GeoProperties.

This class bridges the interfaces of OpenMesh properties and OpenSG GeoProperties. The PropertyKernelT uses these adaptors to add all necessary property functions to the kernel, while the AttribKernelT extends the kernel with the standard properites. Finally the ArrayKernelT completes the kernel build with a specialized version of the garbage collections since the GeoIndices require special handling.

Attention:
Data will be shared with a geometry core when linking a mesh with a OpenSG geometry node using Kernel_OSG::bind.

For internal use only.


Member Function Documentation

template<typename GeoProperty>
virtual size_t OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::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<typename GeoProperty>
virtual void OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::set_persistent ( bool  _yn  )  [inline, virtual]

Enable or disable persistency.

Self must be a named property to enable persistency.

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