![]() |
|
|||
File indexing completed on 2025-09-17 09:07:50
0001 //------------------------------- -*- C++ -*- -------------------------------// 0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details 0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0004 //---------------------------------------------------------------------------// 0005 //! \file orange/transform/VariantTransform.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include <variant> 0010 0011 #include "corecel/cont/VariantUtils.hh" 0012 0013 #include "NoTransformation.hh" 0014 #include "SignedPermutation.hh" 0015 #include "TransformTypeTraits.hh" 0016 #include "Transformation.hh" 0017 #include "Translation.hh" 0018 0019 namespace celeritas 0020 { 0021 template<class T> 0022 class BoundingBox; 0023 0024 //---------------------------------------------------------------------------// 0025 //! std::variant for all transforms. 0026 using VariantTransform = EnumVariant<TransformType, TransformTypeTraits>; 0027 0028 //---------------------------------------------------------------------------// 0029 // Apply the left "daughter-to-parent" transform to the right 0030 [[nodiscard]] VariantTransform 0031 apply_transform(VariantTransform const& left, VariantTransform const& right); 0032 0033 //---------------------------------------------------------------------------// 0034 // Calculate the inverse of a transform 0035 [[nodiscard]] VariantTransform calc_inverse(VariantTransform const& transform); 0036 0037 //---------------------------------------------------------------------------// 0038 // Dispatch "daughter-to-parent" transform to bounding box utilities 0039 [[nodiscard]] BoundingBox<real_type> 0040 apply_transform(VariantTransform const& transform, 0041 BoundingBox<real_type> const& bbox); 0042 0043 //---------------------------------------------------------------------------// 0044 } // namespace celeritas
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |