Developer Documentation
|
#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Kernel_OSG/PropertyT.hh>
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. More... | |
virtual void | resize (size_t _n) |
Resize storage to hold n elements. More... | |
virtual void | push_back () |
Extend the number of elements by one. More... | |
virtual void | swap (size_t _i0, size_t _i1) |
Let two elements swap their storage place. More... | |
virtual oPropertyT< property_t > * | clone () const |
Return a deep copy of self. More... | |
virtual void | set_persistent (bool _yn) |
virtual size_t | n_elements () const |
Number of elements in property. More... | |
virtual size_t | element_size () const |
Size of one element in bytes or UnknownSize if not known. More... | |
virtual size_t | store (std::ostream &_ostr, bool _swap) const |
Store self as one binary block. More... | |
virtual size_t | restore (std::istream &_istr, bool _swap) |
void | clear (void) |
Clear all elements and free memory. More... | |
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 |
![]() | |
BaseProperty (const std::string &_name="<unknown>", const std::string &_internal_type_name="<unknown>") | |
Default constructor. More... | |
BaseProperty (const BaseProperty &_rhs) | |
Copy constructor. More... | |
virtual | ~BaseProperty () |
Destructor. More... | |
virtual void | reserve (size_t _n)=0 |
Reserve memory for n elements. More... | |
virtual void | resize (size_t _n)=0 |
Resize storage to hold n elements. More... | |
virtual void | clear ()=0 |
Clear all elements and free memory. More... | |
virtual void | push_back ()=0 |
Extend the number of elements by one. More... | |
virtual void | swap (size_t _i0, size_t _i1)=0 |
Let two elements swap their storage place. More... | |
virtual void | copy (size_t _io, size_t _i1)=0 |
Copy one element to another. More... | |
virtual BaseProperty * | clone () const =0 |
Return a deep copy of self. More... | |
const std::string & | name () const |
Return the name of the property. More... | |
const std::string & | internal_type_name () const |
Return internal type name of the property for type safe casting alternative to runtime information. More... | |
virtual void | stats (std::ostream &_ostr) const |
bool | persistent (void) const |
Returns true if the persistent flag is enabled else false. More... | |
virtual void | set_persistent (bool _yn)=0 |
virtual std::string | get_storage_name () const =0 |
returns a unique string for the type of the elements More... | |
virtual size_t | n_elements () const =0 |
Number of elements in property. More... | |
virtual size_t | element_size () const =0 |
Size of one element in bytes or UnknownSize if not known. More... | |
virtual size_t | size_of () const |
Return size of property in bytes. More... | |
virtual size_t | size_of (size_t _n_elem) const |
virtual size_t | store (std::ostream &_ostr, bool _swap) const =0 |
Store self as one binary block. More... | |
virtual size_t | restore (std::istream &_istr, bool _swap)=0 |
Protected Attributes | |
property_ptr_t | data_ |
Private Member Functions | |
void | osg_init_check (void) |
oPropertyT (const oPropertyT &) | |
Additional Inherited Members | |
![]() | |
static const size_t | UnknownSize = size_t(-1) |
Indicates an error when a size is returned by a member. More... | |
![]() | |
template<typename T > | |
void | check_and_set_persistent (bool _yn) |
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.
Definition at line 87 of file PropertyT.hh.
typedef field_t::StoredType OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::element_t |
Definition at line 96 of file PropertyT.hh.
typedef property_t::StoredFieldType OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::field_t |
Definition at line 95 of file PropertyT.hh.
typedef property_t::PtrType OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::property_ptr_t |
Definition at line 93 of file PropertyT.hh.
typedef GeoProperty OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::property_t |
Definition at line 92 of file PropertyT.hh.
typedef field_t::StoredType OpenMesh::Kernel_OSG::oPropertyT< GeoProperty >::value_type |
Definition at line 97 of file PropertyT.hh.
|
inline |
Definition at line 102 of file PropertyT.hh.
|
inline |
Definition at line 110 of file PropertyT.hh.
|
inlinevirtual |
Definition at line 121 of file PropertyT.hh.
|
inlinevirtual |
Clear all elements and free memory.
Implements OpenMesh::BaseProperty.
Definition at line 181 of file PropertyT.hh.
|
inlinevirtual |
Return a deep copy of self.
Implements OpenMesh::BaseProperty.
Definition at line 144 of file PropertyT.hh.
|
inline |
Definition at line 193 of file PropertyT.hh.
|
inlinevirtual |
Size of one element in bytes or UnknownSize if not known.
Implements OpenMesh::BaseProperty.
Definition at line 169 of file PropertyT.hh.
|
inlinevirtual |
Number of elements in property.
Implements OpenMesh::BaseProperty.
Definition at line 166 of file PropertyT.hh.
|
inline |
Definition at line 126 of file PropertyT.hh.
|
inline |
Definition at line 196 of file PropertyT.hh.
|
inline |
Definition at line 199 of file PropertyT.hh.
|
inlineprivate |
Definition at line 210 of file PropertyT.hh.
|
inline |
Definition at line 186 of file PropertyT.hh.
|
inline |
Definition at line 189 of file PropertyT.hh.
|
inlinevirtual |
Extend the number of elements by one.
Implements OpenMesh::BaseProperty.
Definition at line 140 of file PropertyT.hh.
|
inlinevirtual |
Reserve memory for n elements.
Implements OpenMesh::BaseProperty.
Reimplemented in OpenMesh::Kernel_OSG::FP::GeoIndicesUI32< IsTriMesh >.
Definition at line 138 of file PropertyT.hh.
|
inlinevirtual |
Resize storage to hold n elements.
Implements OpenMesh::BaseProperty.
Reimplemented in OpenMesh::Kernel_OSG::FP::GeoIndicesUI32< IsTriMesh >.
Definition at line 139 of file PropertyT.hh.
|
inlinevirtual |
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.
|
inlinevirtual |
Enable or disable persistency. Self must be a named property to enable persistency.
Implements OpenMesh::BaseProperty.
Definition at line 161 of file PropertyT.hh.
|
inlinevirtual |
Store self as one binary block.
Implements OpenMesh::BaseProperty.
Definition at line 172 of file PropertyT.hh.
|
inlinevirtual |
Let two elements swap their storage place.
Implements OpenMesh::BaseProperty.
Reimplemented in OpenMesh::Kernel_OSG::FP::GeoIndicesUI32< IsTriMesh >.
Definition at line 141 of file PropertyT.hh.
|
protected |
Definition at line 205 of file PropertyT.hh.