Felt
3.1
Deformable surface library.
|
Polygonisation for a spatially partitioned level set surface. More...
#include <Polys.hpp>
Inherits Felt::Impl::Mixin::Partitioned::Children< Polys< TSurface > >.
Public Types | |
using | Child = typename Traits::Child |
Child grid type. More... | |
Public Member Functions | |
Polys (const TSurface &surface_) | |
const PosIdxList & | changes () const |
Get list of partitions that were updated. More... | |
void | invalidate () |
Add all active poly childs and isogrid childs to change tracking for (re)polygonisation. More... | |
void | march () |
Repolygonise partitions marked as changed since last polygonisation. More... | |
void | notify () |
Notify of an update to the surface in order to track changes. More... | |
Polygonisation for a spatially partitioned level set surface.
Holds child Poly::Single
objects that are dynamically created, updated and destroyed as the surface changes.
Call notify
each time the surface is updated to keep track of spatial partitions that need (re)polygonising.
Alternatively call invalidate
to mark the whole isogrid for (re)polygonisation.
Call march
to go through tracked changes, updating the polygonisation of flagged spatial partitions.
After each march
, call changes
to get the position indices of partitions that were updated.
using Felt::Polys< TSurface >::Child = typename Traits::Child |
Child grid type.
|
inline |
|
inline |
Get list of partitions that were updated.
march
.
|
inline |
Add all active poly childs and isogrid childs to change tracking for (re)polygonisation.
|
inline |
Repolygonise partitions marked as changed since last polygonisation.
|
inline |
Notify of an update to the surface in order to track changes.
This should be called whenever the surface is updated to ensure that eventual re-polygonisation only needs to update those spatial partitions that have actually changed.