Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammath::paving_function_periodic_3d< Tvec > Struct Template Reference

A structure for 3D paving functions with periodic boundary conditions. More...

#include <shammath/include/shammath/paving_function.hpp>

Public Member Functions

Tvec f (Tvec x, int i, int j, int k) const
 Applies the paving function with periodic boundary conditions.
Tvec f_inv (Tvec x, int i, int j, int k) const
 Applies the inverse of the paving function.
AABB< Tvec > f_aabb (const AABB< Tvec > &aabb, int i, int j, int k) const
AABB< Tvec > f_aabb_inv (const AABB< Tvec > &aabb, int i, int j, int k) const
std::vector< std::array< int, 3 > > get_paving_index_intersecting (AABB< Tvec > aabb) const

Public Attributes

Tvec box_size
 The size of the box in each dimension.

Static Public Attributes

static constexpr bool can_deform_aabb = false

Detailed Description

template<typename Tvec>
struct shammath::paving_function_periodic_3d< Tvec >

A structure for 3D paving functions with periodic boundary conditions.

Template Parameters
TvecA vector type.

Definition at line 71 of file paving_function.hpp.

Member Function Documentation

◆ f()

template<typename Tvec>
Tvec shammath::paving_function_periodic_3d< Tvec >::f ( Tvec x,
int i,
int j,
int k ) const
inline

Applies the paving function with periodic boundary conditions.

Parameters
xThe input vector.
iThe periodic index along the x-axis.
jThe periodic index along the y-axis.
kThe periodic index along the z-axis.
Returns
The transformed vector.

Definition at line 87 of file paving_function.hpp.

◆ f_aabb()

template<typename Tvec>
AABB< Tvec > shammath::paving_function_periodic_3d< Tvec >::f_aabb ( const AABB< Tvec > & aabb,
int i,
int j,
int k ) const
inline

Definition at line 100 of file paving_function.hpp.

◆ f_aabb_inv()

template<typename Tvec>
AABB< Tvec > shammath::paving_function_periodic_3d< Tvec >::f_aabb_inv ( const AABB< Tvec > & aabb,
int i,
int j,
int k ) const
inline

Definition at line 104 of file paving_function.hpp.

◆ f_inv()

template<typename Tvec>
Tvec shammath::paving_function_periodic_3d< Tvec >::f_inv ( Tvec x,
int i,
int j,
int k ) const
inline

Applies the inverse of the paving function.

Parameters
xThe input vector.
iThe periodic index along the x-axis.
jThe periodic index along the y-axis.
kThe periodic index along the z-axis.
Returns
The inverse transformed vector.

Definition at line 98 of file paving_function.hpp.

◆ get_paving_index_intersecting()

template<typename Tvec>
std::vector< std::array< int, 3 > > shammath::paving_function_periodic_3d< Tvec >::get_paving_index_intersecting ( AABB< Tvec > aabb) const
inline

Definition at line 108 of file paving_function.hpp.

Member Data Documentation

◆ box_size

template<typename Tvec>
Tvec shammath::paving_function_periodic_3d< Tvec >::box_size

The size of the box in each dimension.

Definition at line 76 of file paving_function.hpp.

◆ can_deform_aabb

template<typename Tvec>
bool shammath::paving_function_periodic_3d< Tvec >::can_deform_aabb = false
inlinestaticconstexpr

Definition at line 74 of file paving_function.hpp.


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