|
constexpr | rectilinear_grid ()=default |
| Default CTOR. More...
|
|
constexpr | rectilinear_grid (rectilinear_grid const &other) |
| Copy CTOR. More...
|
|
constexpr | rectilinear_grid (rectilinear_grid &&other) noexcept |
| Move CTOR. More...
|
|
template<floating_point_range... Dimensions_>
requires (sizeof...(Dimensions_) == sizeof...(Dimensions)) |
constexpr | rectilinear_grid (Dimensions_ &&...dimensions) |
|
template<typename Real , integral... Res>
requires (sizeof...(Res) == num_dimensions()) |
constexpr | rectilinear_grid (axis_aligned_bounding_box< Real, num_dimensions()> const &bb, Res const ... res) |
|
constexpr | rectilinear_grid (integral auto const ... size) |
|
| rectilinear_grid (filesystem::path const &path) |
| Constructs a rectilinear grid by reading a file. More...
|
|
| ~rectilinear_grid ()=default |
|
constexpr auto | copy_without_properties () const |
| Creates a copy of with any of the give properties. More...
|
|
constexpr auto | operator= (rectilinear_grid const &other) -> rectilinear_grid &=default |
|
constexpr auto | operator= (rectilinear_grid &&other) noexcept -> rectilinear_grid & |
|
template<std::size_t I>
requires (I < num_dimensions()) |
constexpr auto | dimension () const -> auto const & |
|
constexpr auto | dimension (std::size_t const i) const -> auto const &requires(is_same< Dimensions... >) &&(num_dimensions()<=11) |
|
constexpr auto | dimensions () const -> auto const & |
|
constexpr auto | min () const |
|
constexpr auto | max () const |
|
template<std::size_t I> |
constexpr auto | extent () const |
|
constexpr auto | extent () const |
|
template<std::size_t DimensionIndex> |
constexpr auto | extent (std::size_t const cell_index) const |
|
template<std::size_t I> |
constexpr auto | center () const |
|
constexpr auto | center () const |
|
constexpr auto | bounding_box () const |
|
constexpr auto | size () const |
|
template<std::size_t I> |
constexpr auto | size () const |
|
constexpr auto | size (std::size_t const i) const |
|
template<std::size_t I> |
constexpr auto | set_dimension (convertible_to< dimension_type< I > > auto &&dim) |
|
template<std::size_t I> |
constexpr auto | push_back () |
| Inserts new discrete point in dimension I with extent of last cell. More...
|
|
template<std::size_t I>
requires requires(dimension_type<I> dim) { dim.pop_back(); } |
constexpr auto | pop_back () |
| Removes last discrete point in dimension I. More...
|
|
template<std::size_t I>
requires requires(dimension_type<I> dim) { dim.pop_back(); } |
constexpr auto | pop_front () |
| Removes first discrete point in dimension I. More...
|
|
template<arithmetic... Comps>
requires (num_dimensions() == sizeof...(Comps)) |
constexpr auto | is_inside (Comps const ... comps) const |
| Checks if point [comps...] is inside of grid. More...
|
|
constexpr auto | is_inside (pos_type const &p) const |
| Checks if point p is inside of grid. More...
|
|
constexpr auto | is_inside (std::array< real_type, num_dimensions()> const &p) const |
| Checks if point p is inside of grid. More...
|
|
template<std::size_t DimensionIndex> |
auto | cell_index (arithmetic auto x) const -> std::pair< std::size_t, real_type > |
|
auto | cell_index (arithmetic auto const ... xs) const |
|
auto | cell_index (fixed_size_vec< num_dimensions()> auto &&xs) const |
|
auto | finite_differences_coefficients (std::size_t const stencil_size, std::size_t const dim_index, std::size_t const i) const |
|
auto | create_finite_differences_coefficients (std::size_t const stencil_size) const |
| Computes finite difference coefficients for given stencil size. More...
|
|
auto | vertices () const |
|
template<std::size_t... DIs, integral Int> |
auto | vertex_at (std::index_sequence< DIs... >, std::array< Int, num_dimensions()> const &is) const -> vec< real_type, num_dimensions()> |
|
template<std::size_t... DIs> |
auto | vertex_at (std::index_sequence< DIs... >, integral auto const ... is) const -> vec< real_type, num_dimensions()> |
|
auto | vertex_at (integral auto const ... is) const |
|
template<integral Int> |
auto | vertex_at (std::array< Int, num_dimensions()> const &is) const |
|
auto | vertex_at (vertex_handle const &h) const |
|
auto | operator[] (vertex_handle const &h) const |
|
constexpr auto | plain_index (integral auto const ... is) |
|
auto | cells () const |
|
auto | add_dimension (floating_point_range auto &&additional_dimension) const |
|
auto | has_vertex_property (std::string const &name) |
|
auto | remove_vertex_property (std::string const &name) -> void |
|
auto | rename_vertex_property (std::string const ¤t_name, std::string const &new_name) -> void |
|
template<typename Container , typename... Args> |
auto | create_vertex_property (std::string const &name, Args &&...args) -> auto & |
|
auto | vertex_properties () const -> auto const & |
|
auto | vertex_properties () -> auto & |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_scalar_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_vec2_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_vec3_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_vec4_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_mat2_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_mat3_vertex_property (std::string const &name) -> auto & |
|
template<typename IndexOrder = x_fastest> |
auto | insert_mat4_vertex_property (std::string const &name) -> auto & |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_contiguous_vertex_property (std::string const &name) -> auto & |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_chunked_vertex_property (std::string const &name, std::vector< std::size_t > const &chunk_size) -> auto & |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_chunked_vertex_property (std::string const &name, std::array< std::size_t, num_dimensions()> const &chunk_size) -> auto & |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_chunked_vertex_property (std::string const &name, integral auto const ... chunk_size) -> auto &requires(sizeof...(chunk_size)==num_dimensions()) |
|
template<typename T , typename IndexOrder = x_fastest> |
auto | insert_chunked_vertex_property (std::string const &name) -> auto & |
|
template<typename T , bool HasNonConstReference = true> |
auto | vertex_property (std::string const &name) -> typed_vertex_property_interface_type< T, HasNonConstReference > & |
|
template<typename T , bool HasNonConstReference = true> |
auto | vertex_property (std::string const &name) const -> typed_vertex_property_interface_type< T, HasNonConstReference > const & |
|
template<bool HasNonConstReference = true> |
auto | scalar_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | scalar_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | vec2_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | vec2_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | vec3_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | vec3_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | vec4_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | vec4_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | mat2_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | mat2_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | mat3_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | mat3_vertex_property (std::string const &name) -> auto & |
|
template<bool HasNonConstReference = true> |
auto | mat4_vertex_property (std::string const &name) const -> auto const & |
|
template<bool HasNonConstReference = true> |
auto | mat4_vertex_property (std::string const &name) -> auto & |
|
template<typename T , typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder> |
auto | insert_lazy_vertex_property (filesystem::path const &path, std::string const &dataset_name) -> typed_vertex_property_interface_type< T, false > & |
|
template<typename IndexOrder = x_fastest, typename T > |
auto | insert_vertex_property (hdf5::dataset< T > const &dataset) -> auto & |
|
template<typename IndexOrder = x_fastest, typename T > |
auto | insert_vertex_property (hdf5::dataset< T > const &dataset, std::string const &name) -> auto & |
|
template<typename T , typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder> |
auto | insert_hdf5_lazy_vertex_property (filesystem::path const &path, std::string const &dataset_name) -> auto & |
|
template<typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder, typename T > |
auto | insert_lazy_vertex_property (hdf5::dataset< T > const &dataset) -> auto & |
|
template<typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder, typename T > |
auto | insert_lazy_vertex_property (hdf5::dataset< T > const &dataset, std::string const &name) -> auto & |
|
template<typename T , typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder> |
auto | insert_netcdf_lazy_vertex_property (filesystem::path const &path, std::string const &dataset_name) -> auto & |
|
template<typename GlobalIndexOrder = x_fastest, typename LocalIndexOrder = GlobalIndexOrder, typename T > |
auto | insert_lazy_vertex_property (netcdf::variable< T > const &dataset) -> auto & |
|
template<typename F >
requires invocable_with_n_integrals<F, num_dimensions()> || invocable<F, pos_type> |
auto | sample_to_vertex_property (F &&f, std::string const &name) -> auto & |
|
template<typename F >
requires invocable_with_n_integrals<F, num_dimensions()> || invocable<F, pos_type> |
auto | sample_to_vertex_property (F &&f, std::string const &name, execution_policy_tag auto tag) -> auto & |
|
auto | read (filesystem::path const &path) |
|
auto | read_vtk (filesystem::path const &path) |
|
|
template<typename Real , integral... Res, std::size_t... Seq> |
constexpr | rectilinear_grid (axis_aligned_bounding_box< Real, num_dimensions()> const &bb, std::index_sequence< Seq... >, Res const ... res) |
|
template<std::size_t... Ds> |
constexpr auto | copy_without_properties (std::index_sequence< Ds... >) const |
|
template<std::size_t... Seq> |
constexpr auto | min (std::index_sequence< Seq... >) const |
|
template<std::size_t... Seq> |
constexpr auto | max (std::index_sequence< Seq... >) const |
|
template<std::size_t... Is> |
constexpr auto | extent (std::index_sequence< Is... >) const |
|
template<std::size_t... Is> |
constexpr auto | center (std::index_sequence< Is... >) const |
|
template<std::size_t... Seq>
requires (sizeof...(Seq) == num_dimensions()) |
constexpr auto | bounding_box (std::index_sequence< Seq... >) const |
|
template<std::size_t... Seq>
requires (sizeof...(Seq) == num_dimensions()) |
constexpr auto | size (std::index_sequence< Seq... >) const |
|
auto | resize_vertex_properties () |
|
template<arithmetic... Comps, std::size_t... Seq>
requires (num_dimensions() == sizeof...(Comps)) |
constexpr auto | is_inside (std::index_sequence< Seq... >, Comps const ... comps) const |
| Checks if point [comps...] is inside of grid. More...
|
|
template<std::size_t... Seq> |
constexpr auto | is_inside (pos_type const &p, std::index_sequence< Seq... >) const |
| Checks if point p is inside of grid. More...
|
|
template<std::size_t... Seq> |
constexpr auto | is_inside (std::array< real_type, num_dimensions()> const &p, std::index_sequence< Seq... >) const |
| Checks if point p is inside of grid. More...
|
|
template<std::size_t... DimensionIndex> |
auto | cell_index (std::index_sequence< DimensionIndex... >, arithmetic auto const ... xs) const -> std::array< std::pair< std::size_t, double >, num_dimensions()> |
| returns cell indices and factors for each dimension for interpolaton More...
|
|
template<std::size_t... Is> |
auto | add_dimension (floating_point_range auto &&additional_dimension, std::index_sequence< Is... >) const |
|
template<invocable_with_n_integrals< num_dimensions()> F, std::size_t... Is> |
auto | sample_to_vertex_property_indices (F &&f, std::string const &name, execution_policy_tag auto tag, std::index_sequence< Is... >) -> auto & |
|
template<invocable< pos_type > F> |
auto | sample_to_vertex_property_pos (F &&f, std::string const &name, execution_policy_tag auto tag) -> auto & |
|