Tatooine
Public Types | Public Member Functions | List of all members
tatooine::edgeset< Real, NumDimensions > Struct Template Reference

#include <edgeset.h>

Inheritance diagram for tatooine::edgeset< Real, NumDimensions >:
[legend]
Collaboration diagram for tatooine::edgeset< Real, NumDimensions >:
[legend]

Public Types

using this_type = edgeset< Real, NumDimensions >
 
using parent_type = unstructured_simplicial_grid< Real, NumDimensions, 1 >
 
using edge_handle = typename parent_type::simplex_handle
 
- Public Types inherited from tatooine::unstructured_simplicial_grid< Real, NumDimensions, 1 >
using this_type = unstructured_simplicial_grid< Real, NumDimensions, SimplexDim >
 
using real_type = Real
 
using parent_type = detail::unstructured_simplicial_grid::parent< this_type, Real, NumDimensions, SimplexDim >
 
using vertex_property_sampler_type = detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >
 
using typed_vertex_property_type = typename parent_type::template typed_vertex_property_type< T >
 
using hierarchy_type = typename parent_type::hierarchy_type
 
using simplex_container = detail::unstructured_simplicial_grid::simplex_container< Real, NumDimensions, SimplexDim >
 
using simplex_property_type = typed_vector_property< simplex_handle, T >
 
using simplex_property_container_type = std::map< std::string, std::unique_ptr< vector_property< simplex_handle > > >
 
using const_simplex_at_return_type = detail::unstructured_simplicial_grid::simplex_at_return_type< vertex_handle const &, SimplexDim+1 >
 
using simplex_at_return_type = detail::unstructured_simplicial_grid::simplex_at_return_type< vertex_handle &, SimplexDim+1 >
 
- Public Types inherited from tatooine::detail::unstructured_simplicial_grid::parent< unstructured_simplicial_grid< Real, NumDimensions, SimplexDim >, Real, NumDimensions, SimplexDim >
using parent_type = pointset< Real, NumDimensions >
 
using hierarchy_type = hierarchy< unstructured_simplicial_grid< Real, NumDimensions, SimplexDim >, Real, NumDimensions, SimplexDim >
 
using const_simplex_at_return_type = detail::unstructured_simplicial_grid::simplex_at_return_type< vertex_handle const &, SimplexDim+1 >
 
using simplex_at_return_type = detail::unstructured_simplicial_grid::simplex_at_return_type< vertex_handle &, SimplexDim+1 >
 
- Public Types inherited from tatooine::pointset< Real, NumDimensions >
using real_type = Real
 
using this_type = pointset< Real, NumDimensions >
 
using vec_type = vec< Real, NumDimensions >
 
using pos_type = vec_type
 
using flann_index_type = flann::Index< flann::L2< Real > >
 
using vertex_container = detail::pointset::vertex_container< Real, NumDimensions >
 
using const_vertex_container = detail::pointset::const_vertex_container< Real, NumDimensions >
 
using vertex_property_type = vector_property< vertex_handle >
 
template<typename T >
using typed_vertex_property_type = typed_vector_property< vertex_handle, T >
 
using vertex_property_container_type = std::map< std::string, std::unique_ptr< vertex_property_type > >
 
template<typename T >
using inverse_distance_weighting_sampler_type = detail::pointset::inverse_distance_weighting_sampler< Real, NumDimensions, T >
 
template<typename T >
using natural_neighbor_coordinates_sampler_type = detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >
 
template<typename T , typename Gradient >
using natural_neighbor_coordinates_sampler_with_gradients_type = detail::pointset::natural_neighbor_coordinates_sampler_with_gradients< Real, NumDimensions, T, Gradient >
 

Public Member Functions

template<typename... Handles>
auto insert_edge (vertex_handle const v0, vertex_handle const v1)
 
auto edge_at (edge_handle const h)
 
auto edge_at (edge_handle const h) const
 
auto edges () const
 
auto are_connected (vertex_handle const v0, vertex_handle const v1) const
 
- Public Member Functions inherited from tatooine::unstructured_simplicial_grid< Real, NumDimensions, 1 >
auto simplex_index_data () const -> auto const &
 
auto invalid_simplices () const -> auto const &
 
auto simplex_properties () const -> auto const &
 
constexpr unstructured_simplicial_grid ()=default
 
 unstructured_simplicial_grid (unstructured_simplicial_grid const &other)
 
 unstructured_simplicial_grid (unstructured_simplicial_grid &&other) noexcept=default
 
 unstructured_simplicial_grid (std::filesystem::path const &path)
 
 unstructured_simplicial_grid (std::initializer_list< pos_type > &&vertices)
 
 unstructured_simplicial_grid (std::vector< vec< Real, NumDimensions > > const &positions)
 
 unstructured_simplicial_grid (std::vector< vec< Real, NumDimensions > > &&positions)
 
 unstructured_simplicial_grid (rectilinear_grid< DimX, DimY > const &g)
 
 unstructured_simplicial_grid (rectilinear_grid< DimX, DimY, DimZ > const &g)
 
auto operator= (unstructured_simplicial_grid const &other) -> unstructured_simplicial_grid &
 
auto operator= (unstructured_simplicial_grid &&other) noexcept -> unstructured_simplicial_grid &=default
 
auto operator[] (simplex_handle t) const -> auto
 
auto operator[] (simplex_handle t) -> auto
 
auto at (simplex_handle t) const -> auto
 
auto at (simplex_handle t) -> auto
 
auto simplex_at (simplex_handle t) const -> auto
 
auto simplex_at (simplex_handle t) -> auto
 
auto simplex_at (std::size_t const i) const
 
auto simplex_at (std::size_t const i)
 
auto insert_vertex (arithmetic auto const ... comps)
 
auto insert_vertex (pos_type const &v)
 
auto insert_vertex (pos_type &&v)
 
auto remove (vertex_handle const vh)
 
auto remove (simplex_handle const ch)
 
auto remove_duplicate_vertices (Real const eps=Real{})
 
auto remove_duplicate_vertices (execution_policy::parallel_t, Real const eps=Real{})
 
auto remove_duplicate_vertices (execution_policy::sequential_t, Real const eps=Real{})
 
auto insert_simplex (Handles const ... handles)
 
auto barycentric_coordinate (simplex_handle const &s, pos_type const &q) const
 
auto tidy_up ()
 
auto clear ()
 
auto simplices () const
 
auto clean_simplex_index_list () const
 
auto contains (simplex_handle const ch, vertex_handle const vh) const
 
auto build_delaunay_mesh ()
 
auto build_delaunay_mesh (std::vector< std::pair< vertex_handle, vertex_handle > > const &constraints) -> void requires(NumDimensions==2)||(NumDimensions==3)
 
auto build_sub_delaunay_mesh (std::vector< vertex_handle > const &vertices)
 
auto simplex_property (std::string const &name) -> auto &
 
auto simplex_property (std::string const &name) const -> const auto &
 
auto scalar_simplex_property (std::string const &name) const -> auto const &
 
auto scalar_simplex_property (std::string const &name) -> auto &
 
auto vec2_simplex_property (std::string const &name) const -> auto const &
 
auto vec2_simplex_property (std::string const &name) -> auto &
 
auto vec3_simplex_property (std::string const &name) const -> auto const &
 
auto vec3_simplex_property (std::string const &name) -> auto &
 
auto vec4_simplex_property (std::string const &name) const -> auto const &
 
auto vec4_simplex_property (std::string const &name) -> auto &
 
auto mat2_simplex_property (std::string const &name) const -> auto const &
 
auto mat2_simplex_property (std::string const &name) -> auto &
 
auto mat3_simplex_property (std::string const &name) const -> auto const &
 
auto mat3_simplex_property (std::string const &name) -> auto &
 
auto mat4_simplex_property (std::string const &name) const -> auto const &
 
auto mat4_simplex_property (std::string const &name) -> auto &
 
auto insert_simplex_property (std::string const &name, T const &value=T{}) -> auto &
 
auto write (filesystem::path const &path) const
 
auto write_vtk (std::filesystem::path const &path, std::string const &title="tatooine grid") const
 
auto write_vtp (filesystem::path const &path) const
 
auto write_vtu (filesystem::path const &path) const
 
auto write_vtp_edges (filesystem::path const &path) const
 
auto write_vtp_triangles (filesystem::path const &path) const
 
auto write_vtu_triangular (filesystem::path const &path) const
 
auto write_vtu_tetrahedral (filesystem::path const &path) const
 
auto write_unstructured_triangular_grid_vtk (std::filesystem::path const &path, std::string const &title) const -> bool requires(SimplexDim==2)
 
auto write_unstructured_tetrahedral_grid_vtk (std::filesystem::path const &path, std::string const &title) const -> bool requires(SimplexDim==2)
 
auto read (std::filesystem::path const &path)
 
auto read_vtk (std::filesystem::path const &path)
 
constexpr auto is_valid (simplex_handle t) const
 
auto build_hierarchy () const
 
auto clear_hierarchy () const
 
auto hierarchy () const -> auto &
 
auto sampler (typed_vertex_property_type< T > const &prop) const
 
auto vertex_property_sampler (std::string const &name) const
 
auto sample_to_vertex_property (F &&f, std::string const &name) -> auto &
 
auto sample_to_vertex_property (F &&f, std::string const &name, execution_policy_tag auto tag) -> auto &
 
- Public Member Functions inherited from tatooine::pointset< Real, NumDimensions >
 pointset ()=default
 
 ~pointset ()=default
 
 pointset (std::initializer_list< pos_type > &&vertices)
 
 pointset (pointset const &other)
 
 pointset (pointset &&other) noexcept
 
 pointset (std::vector< pos_type > const &vertices)
 
 pointset (std::vector< pos_type > &&vertices)
 
 pointset (filesystem::path const &path)
 
auto operator= (pointset const &other) -> pointset &
 
auto operator= (pointset &&other) noexcept -> pointset &=default
 
auto axis_aligned_bounding_box () const
 
auto vertex_properties () const -> auto const &
 
auto vertex_properties () -> auto &
 
auto has_vertex_property (std::string const &name) const
 
auto at (vertex_handle const v) -> auto &
 
auto at (vertex_handle const v) const -> auto const &
 
auto vertex_at (vertex_handle const v) -> auto &
 
auto vertex_at (vertex_handle const v) const -> auto const &
 
auto vertex_at (std::size_t const i) -> auto &
 
auto vertex_at (std::size_t const i) const -> auto const &
 
auto operator[] (vertex_handle const v) -> auto &
 
auto operator[] (vertex_handle const v) const -> auto const &
 
auto vertices () const
 
auto vertices ()
 
auto num_vertices () const
 
auto num_vertex_properties () const
 
auto vertex_position_data () const -> auto const &
 
auto invalid_vertices () const -> auto const &
 
auto tidy_up ()
 tidies up invalid vertices More...
 
auto remove (vertex_handle const v)
 
constexpr auto is_valid (vertex_handle const v) const -> bool
 
auto clear_vertices ()
 
auto clear ()
 
template<invocable< pos_type > F>
auto sample_to_vertex_property (F &&f, std::string const &name) -> auto &
 
template<invocable< pos_type > F>
auto sample_to_vertex_property (F &&f, std::string const &name, execution_policy::sequential_t) -> auto &
 
template<invocable< pos_type > F>
auto sample_to_vertex_property (F &&f, std::string const &name, execution_policy::parallel_t) -> auto &
 
auto join (this_type const &other)
 
auto find_duplicates (Real eps=1e-6)
 
template<typename T >
auto radial_basis_functions_sampler_with_linear_kernel (typed_vertex_property_type< T > const &prop) const
 Constructs a radial basis functions interpolator. More...
 
template<typename T >
auto radial_basis_functions_sampler_with_cubic_kernel (typed_vertex_property_type< T > const &prop) const
 Constructs a radial basis functions interpolator. More...
 
template<typename T >
auto radial_basis_functions_sampler_with_gaussian_kernel (typed_vertex_property_type< T > const &prop, Real const epsilon) const
 Constructs a radial basis functions interpolator. More...
 
template<typename T >
auto radial_basis_functions_sampler_with_thin_plate_spline_kernel (typed_vertex_property_type< T > const &prop) const
 Constructs a radial basis functions interpolator. More...
 
template<typename T >
auto radial_basis_functions_sampler (typed_vertex_property_type< T > const &prop, invocable< Real > auto &&f) const
 Constructs a radial basis functions interpolator. More...
 
template<typename T >
auto radial_basis_functions_sampler (typed_vertex_property_type< T > const &prop) const
 Constructs a radial basis functions interpolator with thin plate spline kernel. More...
 
template<typename ValueType , typename GradientType >
auto radial_basis_functions_sampler (typed_vertex_property_type< ValueType > const &values, typed_vertex_property_type< GradientType > const &gradients) const
 Constructs a radial basis functions interpolator that also takes the gradients of the property. More...
 
auto insert_vertex (arithmetic auto const ... ts)
 
auto insert_vertex (pos_type const &v)
 
auto insert_vertex (pos_type &&v)
 
template<typename T >
auto vertex_property (std::string const &name) -> auto &
 using specified vertices of point_set More...
 
template<typename T >
auto vertex_property (std::string const &name) const -> const auto &
 
auto scalar_vertex_property (std::string const &name) const -> auto const &
 
auto scalar_vertex_property (std::string const &name) -> auto &
 
auto vec2_vertex_property (std::string const &name) const -> auto const &
 
auto vec2_vertex_property (std::string const &name) -> auto &
 
auto vec3_vertex_property (std::string const &name) const -> auto const &
 
auto vec3_vertex_property (std::string const &name) -> auto &
 
auto vec4_vertex_property (std::string const &name) const -> auto const &
 
auto vec4_vertex_property (std::string const &name) -> auto &
 
auto mat2_vertex_property (std::string const &name) const -> auto const &
 
auto mat2_vertex_property (std::string const &name) -> auto &
 
auto mat3_vertex_property (std::string const &name) const -> auto const &
 
auto mat3_vertex_property (std::string const &name) -> auto &
 
auto mat4_vertex_property (std::string const &name) const -> auto const &
 
auto mat4_vertex_property (std::string const &name) -> auto &
 
template<typename T >
auto insert_vertex_property (std::string const &name, T const &value=T{}) -> auto &
 
auto insert_scalar_vertex_property (std::string const &name, tatooine::real_number const value=tatooine::real_number{}) -> auto &
 
auto insert_vec2_vertex_property (std::string const &name, tatooine::vec2 const value=tatooine::vec2{}) -> auto &
 
auto insert_vec3_vertex_property (std::string const &name, tatooine::vec3 const value=tatooine::vec3{}) -> auto &
 
auto insert_vec4_vertex_property (std::string const &name, tatooine::vec4 const value=tatooine::vec4{}) -> auto &
 
auto insert_mat2_vertex_property (std::string const &name, tatooine::mat2 const value=tatooine::mat2{}) -> auto &
 
auto insert_mat3_vertex_property (std::string const &name, tatooine::mat3 const value=tatooine::mat3{}) -> auto &
 
auto insert_mat4_vertex_property (std::string const &name, tatooine::mat4 const value=tatooine::mat4{}) -> auto &
 
auto read (filesystem::path const &p)
 
auto read_vtp (filesystem::path const &path) -> void requires(NumDimensions==2)||(NumDimensions==3)
 
template<typename T >
auto inverse_distance_weighting_sampler (typed_vertex_property_type< T > const &prop, Real const radius=1) const
 
template<typename T >
requires (NumDimensions == 3 || NumDimensions == 2)
auto moving_least_squares_sampler (typed_vertex_property_type< T > const &prop, Real const radius, invocable< real_type > auto &&weighting) const
 Moving Least Squares Sampler. More...
 
template<typename T >
requires (NumDimensions == 3 || NumDimensions == 2)
auto moving_least_squares_sampler (typed_vertex_property_type< T > const &prop, Real const radius) const
 Moving Least Squares Sampler. More...
 
template<typename T >
auto natural_neighbor_coordinates_sampler (typed_vertex_property_type< T > const &prop) const
 
template<typename T , typename Gradient >
auto natural_neighbor_coordinates_sampler_with_gradients (typed_vertex_property_type< T > const &prop, typed_vertex_property_type< Gradient > const &gradients) const
 
auto write (filesystem::path const &path) const
 
auto write_vtk (filesystem::path const &path, std::string const &title="Tatooine pointset") const -> void requires(NumDimensions==3||NumDimensions==2)
 
auto write_vtp (filesystem::path const &path) const
 
auto rebuild_kd_tree ()
 
auto build_kd_tree_index ()
 
auto invalidate_kd_tree () const
 
auto nearest_neighbor (pos_type const &x) const
 
auto nearest_neighbors_raw (pos_type const &x, std::size_t const num_nearest_neighbors, flann::SearchParams const params={}) const
 
auto nearest_neighbors (pos_type const &x, std::size_t const num_nearest_neighbors) const
 
auto nearest_neighbors_radius_raw (pos_type const &x, Real const radius, flann::SearchParams const params={}) const -> std::pair< std::vector< int >, std::vector< Real > >
 
auto nearest_neighbors_radius (pos_type const &x, Real const radius) const
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::unstructured_simplicial_grid< Real, NumDimensions, 1 >
static constexpr auto num_vertices_per_simplex ()
 
static constexpr auto simplex_dimension ()
 
- Static Public Member Functions inherited from tatooine::pointset< Real, NumDimensions >
static constexpr auto num_dimensions () -> std::size_t
 
- Protected Attributes inherited from tatooine::pointset< Real, NumDimensions >
std::vector< pos_typem_vertex_position_data
 

Member Typedef Documentation

◆ edge_handle

template<floating_point Real, std::size_t NumDimensions>
using tatooine::edgeset< Real, NumDimensions >::edge_handle = typename parent_type::simplex_handle

◆ parent_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::edgeset< Real, NumDimensions >::parent_type = unstructured_simplicial_grid<Real, NumDimensions, 1>

◆ this_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::edgeset< Real, NumDimensions >::this_type = edgeset<Real, NumDimensions>

Member Function Documentation

◆ are_connected()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::edgeset< Real, NumDimensions >::are_connected ( vertex_handle const  v0,
vertex_handle const  v1 
) const
inline

◆ edge_at() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::edgeset< Real, NumDimensions >::edge_at ( edge_handle const  h)
inline

◆ edge_at() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::edgeset< Real, NumDimensions >::edge_at ( edge_handle const  h) const
inline

◆ edges()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::edgeset< Real, NumDimensions >::edges ( ) const
inline

◆ insert_edge()

template<floating_point Real, std::size_t NumDimensions>
template<typename... Handles>
auto tatooine::edgeset< Real, NumDimensions >::insert_edge ( vertex_handle const  v0,
vertex_handle const  v1 
)
inline

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