Loading src/TNL/Meshes/GridDetails/Implementations/Grid1D.hpp +0 −5 Original line number Diff line number Diff line Loading @@ -34,11 +34,6 @@ __cuda_callable__ inline Index __GRID_1D_PREFIX__::getEntityIndex(const Entity & return GridEntityGetter<Grid, Entity::entityDimension>::getEntityIndex(*this, entity); } __GRID_1D_TEMPLATE__ __cuda_callable__ const Real& __GRID_1D_PREFIX__::getCellMeasure() const { return this->template getSpaceStepsProducts<1>(); } __GRID_1D_TEMPLATE__ template <int EntityDimension, typename Func, typename... FuncArgs> inline Loading src/TNL/Meshes/GridDetails/Implementations/GridEntity.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ bool __GRID_ENTITY_PREFIX__::isBoundary() const { __GRID_ENTITY_TEMPLATE__ __cuda_callable__ inline const typename __GRID_ENTITY_PREFIX__::Point& __GRID_ENTITY_PREFIX__::getCenter() const { const typename __GRID_ENTITY_PREFIX__::Point __GRID_ENTITY_PREFIX__::getCenter() const { return GridEntityCenterGetter<GridEntity>::getEntityCenter(*this); } Loading src/TNL/Meshes/GridDetails/Implementations/GridEntityCenterGetter.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -64,8 +64,8 @@ class GridEntityCenterGetter<GridEntity<Meshes::Grid<2, Real, Device, Index>, 1> __cuda_callable__ inline static Point getEntityCenter(const Entity& entity) { const Grid& grid = entity.getMesh(); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * entity.getBasis().y()) * grid.getSpaceSteps().y()); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * !entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * !entity.getBasis().y()) * grid.getSpaceSteps().y()); } }; Loading Loading @@ -97,9 +97,9 @@ class GridEntityCenterGetter<GridEntity<Meshes::Grid<3, Real, Device, Index>, En __cuda_callable__ inline static Point getEntityCenter(const Entity& entity) { const Grid& grid = entity.getMesh(); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * entity.getBasis().y()) * grid.getSpaceSteps().y(), grid.getOrigin().z() + (entity.getCoordinates().z() + 0.5 * entity.getBasis().z()) * grid.getSpaceSteps().z()); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * !entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * !entity.getBasis().y()) * grid.getSpaceSteps().y(), grid.getOrigin().z() + (entity.getCoordinates().z() + 0.5 * !entity.getBasis().z()) * grid.getSpaceSteps().z()); } }; Loading src/TNL/Meshes/GridDetails/Implementations/GridEntityGetter.hpp +16 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ namespace Meshes { template <typename Real, typename Device, typename Index, int EntityDimension> class GridEntityGetter<Meshes::Grid<1, Real, Device, Index>, EntityDimension> { public: static constexpr int entityDimension = EntityDimension; using Grid = Meshes::Grid<1, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Coordinate = typename Grid::Coordinate; Loading @@ -31,10 +33,10 @@ class GridEntityGetter<Meshes::Grid<1, Real, Device, Index>, EntityDimension> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 2> { public: static constexpr int EntityDimension = 2; static constexpr int entityDimension = 2; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -49,10 +51,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 2> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 1> { public: static constexpr int EntityDimension = 1; static constexpr int entityDimension = 1; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -73,10 +75,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 1> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 0> { public: static constexpr int EntityDimension = 0; static constexpr int entityDimension = 0; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -97,10 +99,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 0> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 3> { public: static constexpr int EntityDimension = 3; static constexpr int entityDimension = 3; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -118,10 +120,10 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 3> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 2> { public: static constexpr int EntityDimension = 2; static constexpr int entityDimension = 2; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -147,13 +149,12 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 2> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 1> { public: static constexpr int EntityDimension = 1; static constexpr int entityDimension = 1; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline static Index getEntityIndex(const Grid& grid, const Entity& entity) { TNL_ASSERT_GE(entity.getCoordinates(), Coordinate(0, 0, 0), "wrong coordinates"); Loading @@ -177,10 +178,10 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 1> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 0> { public: static constexpr int EntityDimension = 0; static constexpr int entityDimension = 0; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading src/TNL/Meshes/GridDetails/Implementations/GridEntityMeasureGetter.hpp +18 −16 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ class GridEntityMeasureGetter<Meshes::Grid<Dimension, Real, Device, Index>, 0> { using GridType = Grid<Dimension, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return 0.0; } }; Loading @@ -30,7 +30,7 @@ class GridEntityMeasureGetter<Meshes::Grid<1, Real, Device, Index>, 1> { using GridType = Grid<1, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1>(); } }; Loading @@ -44,7 +44,7 @@ class GridEntityMeasureGetter<Meshes::Grid<2, Real, Device, Index>, 2> { using GridType = Grid<2, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1, 1>(); } }; Loading @@ -55,11 +55,11 @@ class GridEntityMeasureGetter<Meshes::Grid<2, Real, Device, Index>, 1> { using GridType = Grid<2, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation().x()) return grid.template getSpaceStepsProducts<0, 1>(); else __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 0>(); return grid.template getSpaceStepsProducts<0, 1>(); } }; Loading @@ -72,7 +72,7 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 3> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1, 1, 1>(); } }; Loading @@ -83,13 +83,14 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 2> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getBasis().z()) __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 1, 0>(); if (entity.getBasis().y()) return grid.template getSpaceStepsProducts<1, 1, 1>(); return grid.template getSpaceStepsProducts<1, 1, 0>(); if (entity.getOrientation() == 1) return grid.template getSpaceStepsProducts<1, 0, 1>(); return grid.template getSpaceStepsProducts<0, 1, 1>(); } }; Loading @@ -99,10 +100,11 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 1> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getBasis().x()) __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 0, 0>(); if (entity.getBasis().y()) if (entity.getOrientation() == 1) return grid.template getSpaceStepsProducts<0, 1, 0>(); return grid.template getSpaceStepsProducts<0, 0, 1>(); Loading Loading
src/TNL/Meshes/GridDetails/Implementations/Grid1D.hpp +0 −5 Original line number Diff line number Diff line Loading @@ -34,11 +34,6 @@ __cuda_callable__ inline Index __GRID_1D_PREFIX__::getEntityIndex(const Entity & return GridEntityGetter<Grid, Entity::entityDimension>::getEntityIndex(*this, entity); } __GRID_1D_TEMPLATE__ __cuda_callable__ const Real& __GRID_1D_PREFIX__::getCellMeasure() const { return this->template getSpaceStepsProducts<1>(); } __GRID_1D_TEMPLATE__ template <int EntityDimension, typename Func, typename... FuncArgs> inline Loading
src/TNL/Meshes/GridDetails/Implementations/GridEntity.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ bool __GRID_ENTITY_PREFIX__::isBoundary() const { __GRID_ENTITY_TEMPLATE__ __cuda_callable__ inline const typename __GRID_ENTITY_PREFIX__::Point& __GRID_ENTITY_PREFIX__::getCenter() const { const typename __GRID_ENTITY_PREFIX__::Point __GRID_ENTITY_PREFIX__::getCenter() const { return GridEntityCenterGetter<GridEntity>::getEntityCenter(*this); } Loading
src/TNL/Meshes/GridDetails/Implementations/GridEntityCenterGetter.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -64,8 +64,8 @@ class GridEntityCenterGetter<GridEntity<Meshes::Grid<2, Real, Device, Index>, 1> __cuda_callable__ inline static Point getEntityCenter(const Entity& entity) { const Grid& grid = entity.getMesh(); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * entity.getBasis().y()) * grid.getSpaceSteps().y()); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * !entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * !entity.getBasis().y()) * grid.getSpaceSteps().y()); } }; Loading Loading @@ -97,9 +97,9 @@ class GridEntityCenterGetter<GridEntity<Meshes::Grid<3, Real, Device, Index>, En __cuda_callable__ inline static Point getEntityCenter(const Entity& entity) { const Grid& grid = entity.getMesh(); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * entity.getBasis().y()) * grid.getSpaceSteps().y(), grid.getOrigin().z() + (entity.getCoordinates().z() + 0.5 * entity.getBasis().z()) * grid.getSpaceSteps().z()); return Point(grid.getOrigin().x() + (entity.getCoordinates().x() + 0.5 * !entity.getBasis().x()) * grid.getSpaceSteps().x(), grid.getOrigin().y() + (entity.getCoordinates().y() + 0.5 * !entity.getBasis().y()) * grid.getSpaceSteps().y(), grid.getOrigin().z() + (entity.getCoordinates().z() + 0.5 * !entity.getBasis().z()) * grid.getSpaceSteps().z()); } }; Loading
src/TNL/Meshes/GridDetails/Implementations/GridEntityGetter.hpp +16 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ namespace Meshes { template <typename Real, typename Device, typename Index, int EntityDimension> class GridEntityGetter<Meshes::Grid<1, Real, Device, Index>, EntityDimension> { public: static constexpr int entityDimension = EntityDimension; using Grid = Meshes::Grid<1, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Coordinate = typename Grid::Coordinate; Loading @@ -31,10 +33,10 @@ class GridEntityGetter<Meshes::Grid<1, Real, Device, Index>, EntityDimension> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 2> { public: static constexpr int EntityDimension = 2; static constexpr int entityDimension = 2; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -49,10 +51,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 2> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 1> { public: static constexpr int EntityDimension = 1; static constexpr int entityDimension = 1; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -73,10 +75,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 1> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 0> { public: static constexpr int EntityDimension = 0; static constexpr int entityDimension = 0; using Grid = Meshes::Grid<2, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -97,10 +99,10 @@ class GridEntityGetter<Meshes::Grid<2, Real, Device, Index>, 0> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 3> { public: static constexpr int EntityDimension = 3; static constexpr int entityDimension = 3; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -118,10 +120,10 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 3> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 2> { public: static constexpr int EntityDimension = 2; static constexpr int entityDimension = 2; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading @@ -147,13 +149,12 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 2> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 1> { public: static constexpr int EntityDimension = 1; static constexpr int entityDimension = 1; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline static Index getEntityIndex(const Grid& grid, const Entity& entity) { TNL_ASSERT_GE(entity.getCoordinates(), Coordinate(0, 0, 0), "wrong coordinates"); Loading @@ -177,10 +178,10 @@ class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 1> { template <typename Real, typename Device, typename Index> class GridEntityGetter<Meshes::Grid<3, Real, Device, Index>, 0> { public: static constexpr int EntityDimension = 0; static constexpr int entityDimension = 0; using Grid = Meshes::Grid<3, Real, Device, Index>; using Entity = GridEntity<Grid, EntityDimension>; using Entity = GridEntity<Grid, entityDimension>; using Coordinate = typename Grid::Coordinate; __cuda_callable__ inline Loading
src/TNL/Meshes/GridDetails/Implementations/GridEntityMeasureGetter.hpp +18 −16 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ class GridEntityMeasureGetter<Meshes::Grid<Dimension, Real, Device, Index>, 0> { using GridType = Grid<Dimension, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return 0.0; } }; Loading @@ -30,7 +30,7 @@ class GridEntityMeasureGetter<Meshes::Grid<1, Real, Device, Index>, 1> { using GridType = Grid<1, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1>(); } }; Loading @@ -44,7 +44,7 @@ class GridEntityMeasureGetter<Meshes::Grid<2, Real, Device, Index>, 2> { using GridType = Grid<2, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1, 1>(); } }; Loading @@ -55,11 +55,11 @@ class GridEntityMeasureGetter<Meshes::Grid<2, Real, Device, Index>, 1> { using GridType = Grid<2, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation().x()) return grid.template getSpaceStepsProducts<0, 1>(); else __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 0>(); return grid.template getSpaceStepsProducts<0, 1>(); } }; Loading @@ -72,7 +72,7 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 3> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { return grid.template getSpaceStepsProducts<1, 1, 1>(); } }; Loading @@ -83,13 +83,14 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 2> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getBasis().z()) __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 1, 0>(); if (entity.getBasis().y()) return grid.template getSpaceStepsProducts<1, 1, 1>(); return grid.template getSpaceStepsProducts<1, 1, 0>(); if (entity.getOrientation() == 1) return grid.template getSpaceStepsProducts<1, 0, 1>(); return grid.template getSpaceStepsProducts<0, 1, 1>(); } }; Loading @@ -99,10 +100,11 @@ class GridEntityMeasureGetter<Meshes::Grid<3, Real, Device, Index>, 1> { using GridType = Grid<3, Real, Device, Index>; template <typename EntityType> __cuda_callable__ inline static const Real& getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getBasis().x()) __cuda_callable__ inline static Real getMeasure(const GridType& grid, const EntityType& entity) { if (entity.getOrientation() == 0) return grid.template getSpaceStepsProducts<1, 0, 0>(); if (entity.getBasis().y()) if (entity.getOrientation() == 1) return grid.template getSpaceStepsProducts<0, 1, 0>(); return grid.template getSpaceStepsProducts<0, 0, 1>(); Loading