SpECTRE
v2025.03.17
|
A CoordinateMap that swaps/negates the coordinate axes. More...
#include <DiscreteRotation.hpp>
Public Member Functions | |
DiscreteRotation (OrientationMap< VolumeDim > orientation=OrientationMap< VolumeDim >::create_aligned()) | |
DiscreteRotation (const DiscreteRotation &)=default | |
DiscreteRotation (DiscreteRotation &&)=default | |
DiscreteRotation & | operator= (const DiscreteRotation &)=default |
DiscreteRotation & | operator= (DiscreteRotation &&)=default |
template<typename T > | |
std::array< tt::remove_cvref_wrap_t< T >, VolumeDim > | operator() (const std::array< T, VolumeDim > &source_coords) const |
std::optional< std::array< double, VolumeDim > > | inverse (const std::array< double, VolumeDim > &target_coords) const |
The inverse function is only callable with doubles because the inverse might fail if called for a point out of range, and it is unclear what should happen if the inverse were to succeed for some points in a DataVector but fail for other points. | |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, VolumeDim, Frame::NoFrame > | jacobian (const std::array< T, VolumeDim > &source_coords) const |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, VolumeDim, Frame::NoFrame > | inv_jacobian (const std::array< T, VolumeDim > &source_coords) const |
void | pup (PUP::er &p) |
bool | is_identity () const |
Static Public Attributes | |
static constexpr size_t | dim = VolumeDim |
Friends | |
bool | operator== (const DiscreteRotation &lhs, const DiscreteRotation &rhs) |
A CoordinateMap that swaps/negates the coordinate axes.
Providing an OrientationMap to the constructor allows for the resulting map to have different orientations.