/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/ThirdParty/Jolt/Geometry/OrientedBox.h
39 строк
1 KB
Jan Krassnigg
Updated Jolt and fixed an issue with collision layers (#1494)
25 фев 2025, 18:32
Не верифицирован
25 фев 2025, 18:32
a342626
Код
Авторство
О чём код?
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics) // SPDX-FileCopyrightText: 2021 Jorrit Rouwe // SPDX-License-Identifier: MIT #pragma once #include <Jolt/Geometry/Triangle.h> #include <Jolt/Geometry/IndexedTriangle.h> #include <Jolt/Geometry/AABox.h> #include <Jolt/Math/Mat44.h> JPH_NAMESPACE_BEGIN class AABox; /// Oriented box class JPH_EXPORT_GCC_BUG_WORKAROUND [[nodiscard]] OrientedBox { public: JPH_OVERRIDE_NEW_DELETE /// Constructor OrientedBox() = default; OrientedBox(Mat44Arg inOrientation, Vec3Arg inHalfExtents) : mOrientation(inOrientation), mHalfExtents(inHalfExtents) { } /// Construct from axis aligned box and transform. Only works for rotation/translation matrix (no scaling / shearing). OrientedBox(Mat44Arg inOrientation, const AABox &inBox) : OrientedBox(inOrientation.PreTranslated(inBox.GetCenter()), inBox.GetExtent()) { } /// Test if oriented box overlaps with axis aligned box each other bool Overlaps(const AABox &inBox, float inEpsilon = 1.0e-6f) const; /// Test if two oriented boxes overlap each other bool Overlaps(const OrientedBox &inBox, float inEpsilon = 1.0e-6f) const; Mat44 mOrientation; ///< Transform that positions and rotates the local space axis aligned box into world space Vec3 mHalfExtents; ///< Half extents (half the size of the edge) of the local space axis aligned box }; JPH_NAMESPACE_END