Celeritas
0.5.0-56+6b053cd
|
#include "VariantTransform.hh"
#include "corecel/cont/VariantUtils.hh"
#include "orange/BoundingBoxUtils.hh"
#include "detail/TransformTransformer.hh"
#include "detail/TransformTranslator.hh"
Functions | |
VariantTransform | celeritas::apply_transform (VariantTransform const &left, VariantTransform const &right) |
Apply the left "daughter-to-parent" transform to the right. More... | |
BBox | celeritas::apply_transform (VariantTransform const &transform, BBox const &bbox) |
Dispatch "daughter-to-parent" transform to bounding box utilities. | |
VariantTransform | celeritas::calc_inverse (VariantTransform const &transform) |
Calculate the inverse of a transform. | |
VariantTransform celeritas::apply_transform | ( | VariantTransform const & | left, |
VariantTransform const & | right | ||
) |
Apply the left "daughter-to-parent" transform to the right.
The resulting variant may be a monostate (identity), translation (no rotation), or full transformation.
The resulting transform has rotation
\[ \mathbf{R}' = \mathbf{R}_2 \]
and translation
\[ \mathbf{t}' = \mathbf{R}_1\mathbf{t}_2 + \mathbf{t}_1 \]