diff --git a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp index fbc93efd..253457e1 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp +++ b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp @@ -436,12 +436,12 @@ namespace SHADE if (ImGui::Selectable("Box Collider")) { - auto* compositeCollider = dynamic_cast(component->GetCollider()); + auto* compositeCollider = reinterpret_cast(component->GetCollider()); compositeCollider->AddBoxCollisionShape(SHVec3::One); } if (ImGui::Selectable("Sphere Collider")) { - auto* compositeCollider = dynamic_cast(component->GetCollider()); + auto* compositeCollider = reinterpret_cast(component->GetCollider()); compositeCollider->AddSphereCollisionShape(1.0f); } diff --git a/SHADE_Engine/src/Physics/Collision/Contacts/SHCollisionKey.h~HEAD b/SHADE_Engine/src/Physics/Collision/Contacts/SHCollisionKey.h~HEAD deleted file mode 100644 index 811f8375..00000000 --- a/SHADE_Engine/src/Physics/Collision/Contacts/SHCollisionKey.h~HEAD +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************************** - * \file SHCollisionID.h - * \author Diren D Bharwani, diren.dbharwani, 390002520 - * \brief Interface for Collision Information for Collision & Triggers. - * - * \copyright Copyright (C) 2022 DigiPen Institute of Technology. Reproduction or - * disclosure of this file or its contents without the prior written consent - * of DigiPen Institute of Technology is prohibited. -****************************************************************************************/ - -#pragma once - -// Project Headers -#include "Physics/Interface/SHColliderComponent.h" -#include "Physics/Interface/SHRigidBodyComponent.h" - - -namespace SHADE -{ - /*-----------------------------------------------------------------------------------*/ - /* Forward Declarations */ - /*-----------------------------------------------------------------------------------*/ - - struct SHCollisionKeyHash; - - /*-----------------------------------------------------------------------------------*/ - /* Type Definitions */ - /*-----------------------------------------------------------------------------------*/ - - /** - * @brief - * Encapsulates the information when two collision shapes intersect. - */ - class SH_API SHCollisionKey - { - private: - /*---------------------------------------------------------------------------------*/ - /* Friends */ - /*---------------------------------------------------------------------------------*/ - - friend struct SHCollisionKeyHash; - - public: - /*---------------------------------------------------------------------------------*/ - /* Constructors & Destructor */ - /*---------------------------------------------------------------------------------*/ - - SHCollisionKey () noexcept; - SHCollisionKey (const SHCollisionKey& rhs) noexcept; - SHCollisionKey (SHCollisionKey&& rhs) noexcept; - - ~SHCollisionKey () noexcept = default; - - /*---------------------------------------------------------------------------------*/ - /* Operator Overloads */ - /*---------------------------------------------------------------------------------*/ - - SHCollisionKey& operator= (const SHCollisionKey& rhs) noexcept; - SHCollisionKey& operator= (SHCollisionKey&& rhs) noexcept; - - bool operator==(const SHCollisionKey& rhs) const; - - /*---------------------------------------------------------------------------------*/ - /* Getter Functions */ - /*---------------------------------------------------------------------------------*/ - - [[nodiscard]] EntityID GetEntityA () const noexcept; - [[nodiscard]] EntityID GetEntityB () const noexcept; - [[nodiscard]] uint32_t GetShapeIndexA () const noexcept; - [[nodiscard]] uint32_t GetShapeIndexB () const noexcept; - [[nodiscard]] const SHRigidBodyComponent* GetRigidBodyA () const noexcept; - [[nodiscard]] const SHRigidBodyComponent* GetRigidBodyB () const noexcept; - [[nodiscard]] const SHCollisionShape* GetCollisionShapeA () const noexcept; - [[nodiscard]] const SHCollisionShape* GetCollisionShapeB () const noexcept; - - /*---------------------------------------------------------------------------------*/ - /* Setter Functions */ - /*---------------------------------------------------------------------------------*/ - - void SetEntityA (EntityID entityID) noexcept; - void SetEntityB (EntityID entityID) noexcept; - void SetCollisionShapeA (uint32_t shapeIndexA) noexcept; - void SetCollisionShapeB (uint32_t shapeIndexB) noexcept; - - private: - - static constexpr uint32_t ENTITY_A = 0; - static constexpr uint32_t SHAPE_INDEX_A = 1; - static constexpr uint32_t ENTITY_B = 2; - static constexpr uint32_t SHAPE_INDEX_B = 3; - - /*---------------------------------------------------------------------------------*/ - /* Data Members */ - /*---------------------------------------------------------------------------------*/ - - union - { - uint64_t value[2]; // EntityValue, ShapeIndexValue - uint32_t ids [4]; // EntityA, EntityB, ShapeIndexA, ShapeIndexB - }; - }; - - /** - * @brief - * Encapsulates a functor to hash a CollisionKey - */ - struct SHCollisionKeyHash - { - public: - /*---------------------------------------------------------------------------------*/ - /* Member Functions */ - /*---------------------------------------------------------------------------------*/ - - std::size_t operator()(const SHCollisionKey& id) const; - }; - -} // namespace SHADE \ No newline at end of file diff --git a/SHADE_Engine/src/Physics/Collision/Narrowphase/SHCollisionUtils.cpp~HEAD b/SHADE_Engine/src/Physics/Collision/Narrowphase/SHCollisionUtils.cpp~HEAD deleted file mode 100644 index c4267ca8..00000000 --- a/SHADE_Engine/src/Physics/Collision/Narrowphase/SHCollisionUtils.cpp~HEAD +++ /dev/null @@ -1,38 +0,0 @@ -/**************************************************************************************** - * \file SHCollisionUtils.cpp - * \author Diren D Bharwani, diren.dbharwani, 390002520 - * \brief Implementation for some objects to assist with collision detection - * - * \copyright Copyright (C) 2022 DigiPen Institute of Technology. Reproduction or - * disclosure of this file or its contents without the prior written consent - * of DigiPen Institute of Technology is prohibited. -****************************************************************************************/ - -#include - -// Primary Header -#include "SHCollisionUtils.h" - -namespace SHADE -{ - /*-----------------------------------------------------------------------------------*/ - /* Operator Overload Definitions */ - /*-----------------------------------------------------------------------------------*/ - - SHVec3 SHCollisionUtils::ShapeTransform::operator*(const SHVec3& rhs) const noexcept - { - return SHVec3::Rotate(rhs, orientation) + position; - } - - /*-----------------------------------------------------------------------------------*/ - /* Public Member Functions Definitions */ - /*-----------------------------------------------------------------------------------*/ - - SHCollisionUtils::ShapeTransform SHCollisionUtils::ShapeTransform::GetInverse() const noexcept - { - const SHQuaternion INV_ORIENTATION = SHQuaternion::Inverse(orientation); - return ShapeTransform { SHVec3::Rotate(-position, INV_ORIENTATION), INV_ORIENTATION }; - } - - -} // namespace SHADE \ No newline at end of file