Loading [MathJax]/extensions/tex2jax.js
Tatooine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
tatooine::line< Real, NumDimensions > Struct Template Reference

#include <line.h>

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

Classes

struct  vertex_handle
 

Public Types

using this_type = line< Real, NumDimensions >
 
using real_type = Real
 
using vec_type = vec< Real, NumDimensions >
 
using pos_type = vec_type
 
using pos_container_type = std::deque< pos_type >
 
using value_type = pos_type
 
using vertex_container_type = detail::line::vertex_container< Real, NumDimensions, vertex_handle >
 
using vertex_property_type = deque_property< vertex_handle >
 
template<typename T >
using typed_vertex_property_type = typed_deque_property< vertex_handle, T >
 
using vertex_property_container_type = std::map< std::string, std::unique_ptr< vertex_property_type > >
 
using parameterization_property_type = typed_vertex_property_type< Real >
 
using tangent_property_type = typed_vertex_property_type< vec< Real, NumDimensions > >
 
template<typename T , template< typename > typename InterpolationKernel>
using vertex_property_sampler_type = detail::line::vertex_property_sampler< Real, NumDimensions, T, InterpolationKernel >
 

Public Member Functions

 line ()=default
 
 line (line const &other)
 
 line (line &&other) noexcept=default
 
auto operator= (line const &other) -> line &
 
auto operator= (line &&other) noexcept -> line &=default
 
 line (pos_container_type const &data, bool is_closed=false)
 
 line (pos_container_type &&data, bool is_closed=false)
 
 line (std::convertible_to< pos_type > auto &&... vs)
 
 line (filesystem::path const &path)
 
auto copy_without_properties ()
 
auto empty () const
 
auto clear ()
 
auto vertex_at (std::size_t const i) const -> auto const &
 
auto vertex_at (std::size_t const i) -> auto &
 
auto vertex_at (vertex_handle const i) const -> auto const &
 
auto vertex_at (vertex_handle const i) -> auto &
 
auto at (vertex_handle const i) const -> auto const &
 
auto at (vertex_handle const i) -> auto &
 
auto operator[] (vertex_handle const i) const -> auto const &
 
auto operator[] (vertex_handle const i) -> auto &
 
auto front_vertex () const -> auto const &
 
auto front_vertex () -> auto &
 
auto back_vertex () const -> auto const &
 
auto back_vertex () -> auto &
 
auto push_back (arithmetic auto const ... components)
 
auto push_back (pos_type const &p)
 
auto push_back (pos_type &&p)
 
template<typename OtherReal >
auto push_back (vec< OtherReal, NumDimensions > const &p)
 
auto pop_back ()
 
auto push_front (arithmetic auto const ... components)
 
auto push_front (pos_type const &p)
 
auto push_front (pos_type &&p)
 
template<typename OtherReal >
auto push_front (vec< OtherReal, NumDimensions > const &p)
 
auto pop_front ()
 
auto vertices () const
 
auto num_vertices () const
 
auto num_line_segments () const
 
template<template< typename > typename InterpolationKernel>
auto sampler () const
 
auto linear_sampler () const
 
auto cubic_sampler () const
 
template<template< typename > typename InterpolationKernel, typename T >
auto sampler (typed_vertex_property_type< T > const &prop) const
 
template<typename T >
auto linear_sampler (typed_vertex_property_type< T > const &prop) const
 
template<typename T >
auto cubic_sampler (typed_vertex_property_type< T > const &prop) const
 
template<template< typename > typename InterpolationKernel, typename T >
auto vertex_property_sampler (std::string const &name) const
 
template<typename T >
auto linear_vertex_property_sampler (std::string const &name) const
 
template<typename T >
auto cubic_vertex_property_sampler (std::string const &name) const
 
auto arc_length () const
 
auto is_closed () const
 
auto set_closed (bool const is_closed=true)
 
template<typename T >
auto vertex_property (std::string const &name) -> auto &
 
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 vertex_properties () const -> auto const &
 
auto has_vertex_property (const std::string &name) const -> bool
 
auto tangents () -> auto &
 
auto tangents () const -> auto const &
 
auto compute_tangents (std::size_t const stencil_size=3)
 
auto has_parameterization () const
 
auto parameterization () -> auto &
 
auto parameterization () const -> auto const &
 
auto compute_uniform_parameterization (Real const t0=0) -> void
 
auto compute_normalized_uniform_parameterization (Real const t0=0) -> void
 
auto compute_chordal_parameterization (Real const t0=0) -> void
 
auto compute_normalized_chordal_parameterization (Real const t0=0) -> void
 
auto compute_centripetal_parameterization (Real const t0=0) -> void
 
auto compute_normalized_centripetal_parameterization (Real const t0=0) -> void
 
auto compute_parameterization (Real const t0=0) -> void
 
auto compute_normalized_parameterization (Real const t0=0) -> void
 
auto normalize_parameterization () -> void
 
auto write (filesystem::path const &path) -> void
 
auto write_vtk (filesystem::path const &path, std::string const &title="tatooine line") const -> void
 
template<unsigned_integral HeaderType = std::uint64_t, integral ConnectivityInt = std::int64_t, integral OffsetInt = std::int64_t>
auto write_vtp (filesystem::path const &path) const -> void
 
auto read_single (filesystem::path const &path)
 
auto read_vtp_single_piece (std::string const &filepath)
 
template<std::size_t N>
requires (num_dimensions() == 2) || (num_dimensions() == 3)
auto read_vtp_prop (std::string const &name, vtk::xml::data_array const &data_array)
 
auto read_vtp_prop (std::string const &name, vtk::xml::data_array const &data_array)
 Calls read_vtp_prop<N> with N = 1..10. More...
 
auto read_vtp_positions (vtk::xml::data_array const &points)
 
auto read (vtk::xml::piece const &p)
 TODO actually read connectivy data array from the lines tag. More...
 
template<typename Pred >
std::vector< line< Real, NumDimensions > > filter (Pred &&pred) const
 
template<template< typename > typename InterpolationKernel, typename T , floating_point ResampleSpaceReal>
auto resample_vertex_property (this_type &resampled_line, std::string const &name, typed_vertex_property_type< T > const &prop, linspace< ResampleSpaceReal > const &resample_space)
 
template<template< typename > typename InterpolationKernel, typename... Ts, floating_point ResampleSpaceReal>
auto resample_vertex_property (this_type &resampled_line, std::string const &name, vertex_property_type const &prop, linspace< ResampleSpaceReal > const &resample_space)
 
template<template< typename > typename InterpolationKernel, floating_point ResampleSpaceReal>
auto resample (linspace< ResampleSpaceReal > const &resample_space)
 
template<typename Pred >
auto filter (Pred &&pred) const -> std::vector< line< Real, NumDimensions > >
 

Static Public Member Functions

static constexpr auto num_dimensions () -> std::size_t
 
static auto read (filesystem::path const &path)
 
static auto read_vtk (std::string const &filepath)
 
static auto read_vtp (std::string const &filepath)
 

Protected Attributes

vertex_property_container_type m_vertex_properties
 
parameterization_property_typem_parameterization_property = nullptr
 
tangent_property_typem_tangent_property = nullptr
 

Private Attributes

pos_container_type m_vertices
 
bool m_is_closed = false
 

Friends

struct detail::line::vertex_container< Real, NumDimensions, vertex_handle >
 

Member Typedef Documentation

◆ parameterization_property_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::parameterization_property_type = typed_vertex_property_type<Real>

◆ pos_container_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::pos_container_type = std::deque<pos_type>

◆ pos_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::pos_type = vec_type

◆ real_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::real_type = Real

◆ tangent_property_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::tangent_property_type = typed_vertex_property_type<vec<Real, NumDimensions> >

◆ this_type

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

◆ typed_vertex_property_type

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
using tatooine::line< Real, NumDimensions >::typed_vertex_property_type = typed_deque_property<vertex_handle, T>

◆ value_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::value_type = pos_type

◆ vec_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::vec_type = vec<Real, NumDimensions>

◆ vertex_container_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::vertex_container_type = detail::line::vertex_container<Real, NumDimensions, vertex_handle>

◆ vertex_property_container_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::vertex_property_container_type = std::map<std::string, std::unique_ptr<vertex_property_type> >

◆ vertex_property_sampler_type

template<floating_point Real, std::size_t NumDimensions>
template<typename T , template< typename > typename InterpolationKernel>
using tatooine::line< Real, NumDimensions >::vertex_property_sampler_type = detail::line::vertex_property_sampler<Real, NumDimensions, T, InterpolationKernel>

◆ vertex_property_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::line< Real, NumDimensions >::vertex_property_type = deque_property<vertex_handle>

Constructor & Destructor Documentation

◆ line() [1/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( )
default

◆ line() [2/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( line< Real, NumDimensions > const &  other)
inline

◆ line() [3/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( line< Real, NumDimensions > &&  other)
defaultnoexcept

◆ line() [4/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( pos_container_type const &  data,
bool  is_closed = false 
)
inline

◆ line() [5/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( pos_container_type &&  data,
bool  is_closed = false 
)
inline

◆ line() [6/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( std::convertible_to< pos_type > auto &&...  vs)
inline

◆ line() [7/7]

template<floating_point Real, std::size_t NumDimensions>
tatooine::line< Real, NumDimensions >::line ( filesystem::path const &  path)
inline

Member Function Documentation

◆ arc_length()

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

◆ at() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::at ( vertex_handle const  i) -> auto&
inline

◆ at() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::at ( vertex_handle const  i) const -> auto const&
inline

◆ back_vertex() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::back_vertex ( ) -> auto&
inline

◆ back_vertex() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::back_vertex ( ) const -> auto const&
inline

◆ clear()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::clear ( )
inline

◆ compute_centripetal_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_centripetal_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_chordal_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_chordal_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_normalized_centripetal_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_normalized_centripetal_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_normalized_chordal_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_normalized_chordal_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_normalized_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_normalized_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_normalized_uniform_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_normalized_uniform_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_parameterization ( Real const  t0 = 0) -> void
inline

◆ compute_tangents()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_tangents ( std::size_t const  stencil_size = 3)
inline

◆ compute_uniform_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::compute_uniform_parameterization ( Real const  t0 = 0) -> void
inline

◆ copy_without_properties()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::copy_without_properties ( )
inline

◆ cubic_sampler() [1/2]

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

◆ cubic_sampler() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::cubic_sampler ( typed_vertex_property_type< T > const &  prop) const
inline

◆ cubic_vertex_property_sampler()

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::cubic_vertex_property_sampler ( std::string const &  name) const
inline

◆ empty()

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

◆ filter() [1/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename Pred >
std::vector< line< Real, NumDimensions > > tatooine::line< Real, NumDimensions >::filter ( Pred &&  pred) const

◆ filter() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename Pred >
auto tatooine::line< Real, NumDimensions >::filter ( Pred &&  pred) const -> std::vector<line<Real, NumDimensions>>

◆ front_vertex() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::front_vertex ( ) -> auto&
inline

◆ front_vertex() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::front_vertex ( ) const -> auto const&
inline

◆ has_parameterization()

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

◆ has_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::has_vertex_property ( const std::string &  name) const -> bool
inline

◆ insert_mat2_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_mat2_vertex_property ( std::string const &  name,
tatooine::mat2 const  value = tatooine::mat2{} 
) -> auto&
inline

◆ insert_mat3_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_mat3_vertex_property ( std::string const &  name,
tatooine::mat3 const  value = tatooine::mat3{} 
) -> auto&
inline

◆ insert_mat4_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_mat4_vertex_property ( std::string const &  name,
tatooine::mat4 const  value = tatooine::mat4{} 
) -> auto&
inline

◆ insert_scalar_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_scalar_vertex_property ( std::string const &  name,
tatooine::real_number const  value = tatooine::real_number{} 
) -> auto&
inline

◆ insert_vec2_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_vec2_vertex_property ( std::string const &  name,
tatooine::vec2 const  value = tatooine::vec2{} 
) -> auto&
inline

◆ insert_vec3_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_vec3_vertex_property ( std::string const &  name,
tatooine::vec3 const  value = tatooine::vec3{} 
) -> auto&
inline

◆ insert_vec4_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::insert_vec4_vertex_property ( std::string const &  name,
tatooine::vec4 const  value = tatooine::vec4{} 
) -> auto&
inline

◆ insert_vertex_property()

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::insert_vertex_property ( std::string const &  name,
T const &  value = T{} 
) -> auto&
inline

◆ is_closed()

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

◆ linear_sampler() [1/2]

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

◆ linear_sampler() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::linear_sampler ( typed_vertex_property_type< T > const &  prop) const
inline

◆ linear_vertex_property_sampler()

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::linear_vertex_property_sampler ( std::string const &  name) const
inline

◆ mat2_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat2_vertex_property ( std::string const &  name) -> auto&
inline

◆ mat2_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat2_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ mat3_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat3_vertex_property ( std::string const &  name) -> auto&
inline

◆ mat3_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat3_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ mat4_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat4_vertex_property ( std::string const &  name) -> auto&
inline

◆ mat4_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::mat4_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ normalize_parameterization()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::normalize_parameterization ( ) -> void
inline

◆ num_dimensions()

template<floating_point Real, std::size_t NumDimensions>
static constexpr auto tatooine::line< Real, NumDimensions >::num_dimensions ( ) -> std::size_t
inlinestaticconstexpr

◆ num_line_segments()

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

◆ num_vertices()

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

◆ operator=() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::operator= ( line< Real, NumDimensions > &&  other) -> line &=default
defaultnoexcept

◆ operator=() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::operator= ( line< Real, NumDimensions > const &  other) -> line&
inline

◆ operator[]() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::operator[] ( vertex_handle const  i) -> auto&
inline

◆ operator[]() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::operator[] ( vertex_handle const  i) const -> auto const&
inline

◆ parameterization() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::parameterization ( ) -> auto&
inline

◆ parameterization() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::parameterization ( ) const -> auto const&
inline

◆ pop_back()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::pop_back ( )
inline

◆ pop_front()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::pop_front ( )
inline

◆ push_back() [1/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_back ( arithmetic auto const ...  components)
inline

◆ push_back() [2/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_back ( pos_type &&  p)
inline

◆ push_back() [3/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_back ( pos_type const &  p)
inline

◆ push_back() [4/4]

template<floating_point Real, std::size_t NumDimensions>
template<typename OtherReal >
auto tatooine::line< Real, NumDimensions >::push_back ( vec< OtherReal, NumDimensions > const &  p)
inline

◆ push_front() [1/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_front ( arithmetic auto const ...  components)
inline

◆ push_front() [2/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_front ( pos_type &&  p)
inline

◆ push_front() [3/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::push_front ( pos_type const &  p)
inline

◆ push_front() [4/4]

template<floating_point Real, std::size_t NumDimensions>
template<typename OtherReal >
auto tatooine::line< Real, NumDimensions >::push_front ( vec< OtherReal, NumDimensions > const &  p)
inline

◆ read() [1/2]

template<floating_point Real, std::size_t NumDimensions>
static auto tatooine::line< Real, NumDimensions >::read ( filesystem::path const &  path)
inlinestatic

◆ read() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::read ( vtk::xml::piece const &  p)
inline

TODO actually read connectivy data array from the lines tag.

◆ read_single()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::read_single ( filesystem::path const &  path)
inline

◆ read_vtk()

template<floating_point Real, std::size_t NumDimensions>
static auto tatooine::line< Real, NumDimensions >::read_vtk ( std::string const &  filepath)
inlinestatic

◆ read_vtp()

template<floating_point Real, std::size_t NumDimensions>
static auto tatooine::line< Real, NumDimensions >::read_vtp ( std::string const &  filepath)
inlinestatic

◆ read_vtp_positions()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::read_vtp_positions ( vtk::xml::data_array const &  points)
inline

◆ read_vtp_prop() [1/2]

template<floating_point Real, std::size_t NumDimensions>
template<std::size_t N>
requires (num_dimensions() == 2) || (num_dimensions() == 3)
auto tatooine::line< Real, NumDimensions >::read_vtp_prop ( std::string const &  name,
vtk::xml::data_array const &  data_array 
)
inline

Reads data_array as vertex property if the number of components is equal to the template parameter N.

◆ read_vtp_prop() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::read_vtp_prop ( std::string const &  name,
vtk::xml::data_array const &  data_array 
)
inline

Calls read_vtp_prop<N> with N = 1..10.

◆ read_vtp_single_piece()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::read_vtp_single_piece ( std::string const &  filepath)
inline

◆ resample()

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel, floating_point ResampleSpaceReal>
auto tatooine::line< Real, NumDimensions >::resample ( linspace< ResampleSpaceReal > const &  resample_space)
inline

◆ resample_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel, typename T , floating_point ResampleSpaceReal>
auto tatooine::line< Real, NumDimensions >::resample_vertex_property ( this_type resampled_line,
std::string const &  name,
typed_vertex_property_type< T > const &  prop,
linspace< ResampleSpaceReal > const &  resample_space 
)
inline

◆ resample_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel, typename... Ts, floating_point ResampleSpaceReal>
auto tatooine::line< Real, NumDimensions >::resample_vertex_property ( this_type resampled_line,
std::string const &  name,
vertex_property_type const &  prop,
linspace< ResampleSpaceReal > const &  resample_space 
)
inline

◆ sampler() [1/2]

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel>
auto tatooine::line< Real, NumDimensions >::sampler ( ) const
inline

◆ sampler() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel, typename T >
auto tatooine::line< Real, NumDimensions >::sampler ( typed_vertex_property_type< T > const &  prop) const
inline

◆ scalar_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::scalar_vertex_property ( std::string const &  name) -> auto&
inline

◆ scalar_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::scalar_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ set_closed()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::set_closed ( bool const  is_closed = true)
inline

◆ tangents() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::tangents ( ) -> auto&
inline

◆ tangents() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::tangents ( ) const -> auto const&
inline

◆ vec2_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec2_vertex_property ( std::string const &  name) -> auto&
inline

◆ vec2_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec2_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ vec3_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec3_vertex_property ( std::string const &  name) -> auto&
inline

◆ vec3_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec3_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ vec4_vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec4_vertex_property ( std::string const &  name) -> auto&
inline

◆ vec4_vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vec4_vertex_property ( std::string const &  name) const -> auto const&
inline

◆ vertex_at() [1/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vertex_at ( std::size_t const  i) -> auto&
inline

◆ vertex_at() [2/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vertex_at ( std::size_t const  i) const -> auto const&
inline

◆ vertex_at() [3/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vertex_at ( vertex_handle const  i) -> auto&
inline

◆ vertex_at() [4/4]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vertex_at ( vertex_handle const  i) const -> auto const&
inline

◆ vertex_properties()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::vertex_properties ( ) const -> auto const&
inline

◆ vertex_property() [1/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::vertex_property ( std::string const &  name) -> auto&
inline

◆ vertex_property() [2/2]

template<floating_point Real, std::size_t NumDimensions>
template<typename T >
auto tatooine::line< Real, NumDimensions >::vertex_property ( std::string const &  name) const -> const auto&
inline

◆ vertex_property_sampler()

template<floating_point Real, std::size_t NumDimensions>
template<template< typename > typename InterpolationKernel, typename T >
auto tatooine::line< Real, NumDimensions >::vertex_property_sampler ( std::string const &  name) const
inline

◆ vertices()

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

◆ write()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::write ( filesystem::path const &  path) -> void
inline

◆ write_vtk()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::line< Real, NumDimensions >::write_vtk ( filesystem::path const &  path,
std::string const &  title = "tatooine line< Real, NumDimensions >" 
) const -> void
inline

◆ write_vtp()

template<floating_point Real, std::size_t NumDimensions>
template<unsigned_integral HeaderType = std::uint64_t, integral ConnectivityInt = std::int64_t, integral OffsetInt = std::int64_t>
auto tatooine::line< Real, NumDimensions >::write_vtp ( filesystem::path const &  path) const -> void
inline

Friends And Related Function Documentation

◆ detail::line::vertex_container< Real, NumDimensions, vertex_handle >

template<floating_point Real, std::size_t NumDimensions>
friend struct detail::line::vertex_container< Real, NumDimensions, vertex_handle >
friend

Member Data Documentation

◆ m_is_closed

template<floating_point Real, std::size_t NumDimensions>
bool tatooine::line< Real, NumDimensions >::m_is_closed = false
private

◆ m_parameterization_property

template<floating_point Real, std::size_t NumDimensions>
parameterization_property_type* tatooine::line< Real, NumDimensions >::m_parameterization_property = nullptr
protected

◆ m_tangent_property

template<floating_point Real, std::size_t NumDimensions>
tangent_property_type* tatooine::line< Real, NumDimensions >::m_tangent_property = nullptr
protected

◆ m_vertex_properties

template<floating_point Real, std::size_t NumDimensions>
vertex_property_container_type tatooine::line< Real, NumDimensions >::m_vertex_properties
protected

◆ m_vertices

template<floating_point Real, std::size_t NumDimensions>
pos_container_type tatooine::line< Real, NumDimensions >::m_vertices
private

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