Tatooine
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
tatooine::unstructured_grid< Real, NumDimensions >::cell Struct Reference

#include <unstructured_grid.h>

Collaboration diagram for tatooine::unstructured_grid< Real, NumDimensions >::cell:
[legend]

Public Types

using this_type = cell
 
using grid_t = unstructured_grid
 
using iterator = cell_vertex_iterator
 
using const_iterator = iterator
 

Public Member Functions

 cell (grid_t const *grid, std::vector< std::size_t >::const_iterator cell_begin)
 
auto size () const
 
auto at (std::size_t const i) const
 
auto operator[] (std::size_t const i) const
 
auto begin () const
 
auto end () const
 
auto is_inside (pos_type const &x) const
 
auto barycentric_coordinates (pos_type const &query_point) const
 Computes generalized barycentric coordinates for arbitrary polygons. More...
 

Private Attributes

grid_t const * m_grid
 
std::vector< std::size_t >::const_iterator m_cell_begin
 

Friends

struct cell_iterator
 

Member Typedef Documentation

◆ const_iterator

template<typename Real , std::size_t NumDimensions>
using tatooine::unstructured_grid< Real, NumDimensions >::cell::const_iterator = iterator

◆ grid_t

template<typename Real , std::size_t NumDimensions>
using tatooine::unstructured_grid< Real, NumDimensions >::cell::grid_t = unstructured_grid

◆ iterator

template<typename Real , std::size_t NumDimensions>
using tatooine::unstructured_grid< Real, NumDimensions >::cell::iterator = cell_vertex_iterator

◆ this_type

template<typename Real , std::size_t NumDimensions>
using tatooine::unstructured_grid< Real, NumDimensions >::cell::this_type = cell

Constructor & Destructor Documentation

◆ cell()

template<typename Real , std::size_t NumDimensions>
tatooine::unstructured_grid< Real, NumDimensions >::cell::cell ( grid_t const *  grid,
std::vector< std::size_t >::const_iterator  cell_begin 
)
inline

Member Function Documentation

◆ at()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::at ( std::size_t const  i) const
inline

◆ barycentric_coordinates()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::barycentric_coordinates ( pos_type const &  query_point) const
inline

Computes generalized barycentric coordinates for arbitrary polygons.

This is an implementation of "Barycentric coordinates for arbitrary polygons in the plane" by Hormann [2].

◆ begin()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::begin ( ) const
inline

◆ end()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::end ( ) const
inline

◆ is_inside()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::is_inside ( pos_type const &  x) const
inline

Checks if a point x is inside the cell. From here: https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html

◆ operator[]()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::operator[] ( std::size_t const  i) const
inline

◆ size()

template<typename Real , std::size_t NumDimensions>
auto tatooine::unstructured_grid< Real, NumDimensions >::cell::size ( ) const
inline

Friends And Related Function Documentation

◆ cell_iterator

template<typename Real , std::size_t NumDimensions>
friend struct cell_iterator
friend

Member Data Documentation

◆ m_cell_begin

template<typename Real , std::size_t NumDimensions>
std::vector<std::size_t>::const_iterator tatooine::unstructured_grid< Real, NumDimensions >::cell::m_cell_begin
private

◆ m_grid

template<typename Real , std::size_t NumDimensions>
grid_t const* tatooine::unstructured_grid< Real, NumDimensions >::cell::m_grid
private

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