Felt  3.1
Deformable surface library.
Felt::Impl::Poly Namespace Reference

Typedefs

using ActivateImpl = Impl::Mixin::Tracked::Activate< This >
 
using Edge = typename GeomImpl::Edge
 Cube edge type. More...
 
using GeomImpl = Impl::Mixin::Poly::Geom< This >
 
using IdxTuple = typename Traits::Leaf
 Vertex index tuple type (for spatial lookup grid). More...
 
using IsoChild = typename IsoGrid::Child
 Spatial partition type this poly will be responsible for. More...
 
using IsoGrid = typename Traits::IsoGrid
 Isogrid to (partially) polygonise. More...
 
using IsoLookup = typename IsoChild::Lookup
 Spatial partition type this poly will be responsible for. More...
 
using Lookup = typename Traits::Lookup
 
using LookupInterfaceImpl = Impl::Mixin::Tracked::LookupInterface< This >
 
using ResetImpl = Impl::Mixin::Tracked::SingleList::Reset< This >
 
using ResizeImpl = Impl::Mixin::Tracked::Resize< This >
 
using Simplex = typename GeomImpl::Simplex
 Simplex type. More...
 
template<class TIsoGrid >
using Traits = Impl::Traits< This >
 
using VecDf = Felt::VecDf< t_dims >
 Float vector. More...
 
using VecDi = Felt::VecDi< t_dims >
 Integer vector. More...
 
using Vertex = typename GeomImpl::Vertex
 Vertex type. More...
 

Functions

void bind (const IsoLookup &isolookup)
 Bind this Poly to the given Lookup grid giving positions to march over. More...
 
IsoLookup const * bind () const
 Get a pointer to the isogrid child's lookup grid that gives points to polygonise. More...
 
void deactivate ()
 Destroy the internal data array and lookup grid. More...
 
void march ()
 Update the polygonisation from the stored pointer to isogrid child lookup. More...
 
void reset ()
 Reset without deallocating. More...
 
void resize (const VecDi &size_, const VecDi &offset_)
 Resize to fit size of isogrid child spatial partition. More...
 
 Single (const IsoGrid &isogrid_)
 Construct a non-partitioned polygonisation of an isogrid. More...
 
const SpxArray & spxs () const
 Get the array of simplices. More...
 
const VtxArray & vtxs () const
 Get the vertex array. More...
 

Variables

static constexpr Distance epsilon = std::numeric_limits<Distance>::epsilon()
 Small epsilon value within which we consider vertex position as "exact". More...
 
static constexpr Dim t_dims = Traits::t_dims
 Dimension of isogrid to polygonise. More...
 

Typedef Documentation

◆ ActivateImpl

◆ Edge

using Felt::Impl::Poly::Edge = typedef typename GeomImpl::Edge

Cube edge type.

◆ GeomImpl

◆ IdxTuple

using Felt::Impl::Poly::IdxTuple = typedef typename Traits::Leaf

Vertex index tuple type (for spatial lookup grid).

◆ IsoChild

using Felt::Impl::Poly::IsoChild = typedef typename IsoGrid::Child

Spatial partition type this poly will be responsible for.

◆ IsoGrid

using Felt::Impl::Poly::IsoGrid = typedef typename Traits::IsoGrid

Isogrid to (partially) polygonise.

◆ IsoLookup

Spatial partition type this poly will be responsible for.

◆ Lookup

using Felt::Impl::Poly::Lookup = typedef typename Traits::Lookup

◆ LookupInterfaceImpl

◆ ResetImpl

◆ ResizeImpl

◆ Simplex

using Felt::Impl::Poly::Simplex = typedef typename GeomImpl::Simplex

Simplex type.

◆ Traits

template<class TIsoGrid >
using Felt::Impl::Poly::Traits = typedef Impl::Traits<This>

◆ VecDf

Float vector.

◆ VecDi

Integer vector.

◆ Vertex

using Felt::Impl::Poly::Vertex = typedef typename GeomImpl::Vertex

Vertex type.

Function Documentation

◆ bind() [1/2]

void Felt::Impl::Poly::bind ( const IsoLookup isolookup)

Bind this Poly to the given Lookup grid giving positions to march over.

I.e. a child spatial partition of the isogrid.

Parameters
pisolookup

◆ bind() [2/2]

IsoLookup const* Felt::Impl::Poly::bind ( ) const

Get a pointer to the isogrid child's lookup grid that gives points to polygonise.

Returns
lookup grid to iterate over.

◆ deactivate()

void Felt::Impl::Poly::deactivate ( )

Destroy the internal data array and lookup grid.

◆ march()

void Felt::Impl::Poly::march ( )

Update the polygonisation from the stored pointer to isogrid child lookup.

◆ reset()

void Felt::Impl::Poly::reset ( )

Reset without deallocating.

Visit all vertices in lookup grid and set to null value then resize vertex and simplex lists.

◆ resize()

void Felt::Impl::Poly::resize ( const VecDi size_,
const VecDi offset_ 
)

Resize to fit size of isogrid child spatial partition.

Will resize to one more than isochild size, since neighbouring Polys must overlap.

Parameters
size_size of isogrid child partition.
offset_offset of isogrid child partition.

◆ Single()

Felt::Impl::Poly::Single ( const IsoGrid isogrid_)

Construct a non-partitioned polygonisation of an isogrid.

Parameters
isogrid_grid to be (partially) polygonised.

◆ spxs()

const SpxArray& Felt::Impl::Poly::spxs ( ) const

Get the array of simplices.

Returns

◆ vtxs()

const VtxArray& Felt::Impl::Poly::vtxs ( ) const

Get the vertex array.

Returns

Variable Documentation

◆ epsilon

constexpr Distance Felt::Impl::Poly::epsilon = std::numeric_limits<Distance>::epsilon()
static

Small epsilon value within which we consider vertex position as "exact".

◆ t_dims

constexpr Dim Felt::Impl::Poly::t_dims = Traits::t_dims
static

Dimension of isogrid to polygonise.