Public Member Functions | Public Attributes
vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType > Class Template Reference

Accessory class to update pointers after eventual reallocation caused by adding elements. More...

#include <allocate.h>

List of all members.

Public Member Functions

void Clear ()
bool NeedUpdate ()
 return true if the allocation operation that initialized this PointerUpdater has caused a reallocation
 PointerUpdater (void)
void Update (SimplexPointerType &vp)
 Update a pointer to an element of a mesh after a reallocation.

Public Attributes

SimplexPointerType newBase
SimplexPointerType newEnd
SimplexPointerType oldBase
SimplexPointerType oldEnd
bool preventUpdateFlag
std::vector< size_t > remap

Detailed Description

template<class MeshType>
template<class SimplexPointerType>
class vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >

Accessory class to update pointers after eventual reallocation caused by adding elements.

This class is used whenever you trigger some allocation operation that can cause the invalidation of the pointers to mesh elements. Typical situations are when you are allocating new vertexes, edges, halfedges of faces or when you compact their containers to get rid of deleted elements. This object allows you to update an invalidate pointer immediately after an action that invalidate it.

Note:
It can also be used to prevent any update of the various internal pointers caused by an invalidation. This can be useful in case you are building all the internal connections by hand as it happens in a importer;
See also:
allocation

Definition at line 129 of file allocate.h.


Constructor & Destructor Documentation

template<class MeshType>
template<class SimplexPointerType>
vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::PointerUpdater ( void  ) [inline]

Definition at line 132 of file allocate.h.


Member Function Documentation

template<class MeshType>
template<class SimplexPointerType>
void vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::Clear ( ) [inline]

Definition at line 133 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
bool vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::NeedUpdate ( ) [inline]

return true if the allocation operation that initialized this PointerUpdater has caused a reallocation

Definition at line 151 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
void vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::Update ( SimplexPointerType &  vp) [inline]

Update a pointer to an element of a mesh after a reallocation.

The updating is correctly done only if this PointerUpdater have been passed to the corresponing allocation call.

See also:
allocation

Definition at line 138 of file allocate.h.


Member Data Documentation

template<class MeshType>
template<class SimplexPointerType>
SimplexPointerType vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::newBase

Definition at line 153 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
SimplexPointerType vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::newEnd

Definition at line 155 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
SimplexPointerType vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::oldBase

Definition at line 154 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
SimplexPointerType vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::oldEnd

Definition at line 156 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
bool vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::preventUpdateFlag

Definition at line 159 of file allocate.h.

template<class MeshType>
template<class SimplexPointerType>
std::vector<size_t> vcg::tri::Allocator< MeshType >::PointerUpdater< SimplexPointerType >::remap

Definition at line 157 of file allocate.h.


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


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:41:55