Developer Documentation

Public Types | Public Member Functions | Protected Attributes | Private Member Functions | List of all members
OpenMesh::Kernel_OSG::oPropertyT< GeoProperty > Class Template Reference

`#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Kernel_OSG/PropertyT.hh>`

Inheritance diagram for OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >:

## 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>")
oPropertyT & | operator= (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)
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)
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
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.
virtual void | copy (size_t _io, size_t _i1)=0
| Copy one element to another.
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.
virtual size_t | size_of () const
| Return size of property in bytes.
virtual size_t | size_of (size_t _n_elem) const

## Protected Attributes
property_ptr_t | data_

## Private Member Functions
void | osg_init_check (void)
| oPropertyT (const oPropertyT &)

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

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

Definition at line 87 of file PropertyT.hh.

## Member Function Documentation

## ◆ restore()

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.

Definition at line 175 of file PropertyT.hh.

## ◆ set_persistent()

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.

Definition at line 161 of file PropertyT.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Kernel_OSG/PropertyT.hh