Celeritas  0.5.0-56+6b053cd
Functions
VariantTransform.cc File Reference
#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.
 

Function Documentation

◆ apply_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 \]