initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
68
thirdparty/jolt_physics/Jolt/Physics/Body/AllowedDOFs.h
vendored
Normal file
68
thirdparty/jolt_physics/Jolt/Physics/Body/AllowedDOFs.h
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
||||
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#pragma once
|
||||
|
||||
JPH_NAMESPACE_BEGIN
|
||||
|
||||
/// Enum used in BodyCreationSettings and MotionProperties to indicate which degrees of freedom a body has
|
||||
enum class EAllowedDOFs : uint8
|
||||
{
|
||||
None = 0b000000, ///< No degrees of freedom are allowed. Note that this is not valid and will crash. Use a static body instead.
|
||||
All = 0b111111, ///< All degrees of freedom are allowed
|
||||
TranslationX = 0b000001, ///< Body can move in world space X axis
|
||||
TranslationY = 0b000010, ///< Body can move in world space Y axis
|
||||
TranslationZ = 0b000100, ///< Body can move in world space Z axis
|
||||
RotationX = 0b001000, ///< Body can rotate around world space X axis
|
||||
RotationY = 0b010000, ///< Body can rotate around world space Y axis
|
||||
RotationZ = 0b100000, ///< Body can rotate around world space Z axis
|
||||
Plane2D = TranslationX | TranslationY | RotationZ, ///< Body can only move in X and Y axis and rotate around Z axis
|
||||
};
|
||||
|
||||
/// Bitwise OR operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs operator | (EAllowedDOFs inLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
return EAllowedDOFs(uint8(inLHS) | uint8(inRHS));
|
||||
}
|
||||
|
||||
/// Bitwise AND operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs operator & (EAllowedDOFs inLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
return EAllowedDOFs(uint8(inLHS) & uint8(inRHS));
|
||||
}
|
||||
|
||||
/// Bitwise XOR operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs operator ^ (EAllowedDOFs inLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
return EAllowedDOFs(uint8(inLHS) ^ uint8(inRHS));
|
||||
}
|
||||
|
||||
/// Bitwise NOT operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs operator ~ (EAllowedDOFs inAllowedDOFs)
|
||||
{
|
||||
return EAllowedDOFs(~uint8(inAllowedDOFs));
|
||||
}
|
||||
|
||||
/// Bitwise OR assignment operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs & operator |= (EAllowedDOFs &ioLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
ioLHS = ioLHS | inRHS;
|
||||
return ioLHS;
|
||||
}
|
||||
|
||||
/// Bitwise AND assignment operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs & operator &= (EAllowedDOFs &ioLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
ioLHS = ioLHS & inRHS;
|
||||
return ioLHS;
|
||||
}
|
||||
|
||||
/// Bitwise XOR assignment operator for EAllowedDOFs
|
||||
constexpr EAllowedDOFs & operator ^= (EAllowedDOFs &ioLHS, EAllowedDOFs inRHS)
|
||||
{
|
||||
ioLHS = ioLHS ^ inRHS;
|
||||
return ioLHS;
|
||||
}
|
||||
|
||||
JPH_NAMESPACE_END
|
||||
Reference in New Issue
Block a user