AxisAlignedBoxShape.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/Component/TransformBus.h>
  10. #include <AzCore/Math/Aabb.h>
  11. #include <AzCore/Math/Obb.h>
  12. #include <AzCore/Component/NonUniformScaleBus.h>
  13. #include <LmbrCentral/Shape/ShapeComponentBus.h>
  14. #include <LmbrCentral/Shape/BoxShapeComponentBus.h>
  15. #include "BoxShape.h"
  16. namespace AzFramework
  17. {
  18. class DebugDisplayRequests;
  19. }
  20. namespace LmbrCentral
  21. {
  22. struct ShapeDrawParams;
  23. class AxisAlignedBoxShape
  24. : public BoxShape
  25. {
  26. public:
  27. AZ_CLASS_ALLOCATOR(AxisAlignedBoxShape, AZ::SystemAllocator)
  28. AZ_RTTI(AxisAlignedBoxShape, "{CFDC96C5-287A-4033-8D7D-BA9331C13F25}", BoxShape)
  29. AxisAlignedBoxShape();
  30. static void Reflect(AZ::ReflectContext* context);
  31. void Activate(AZ::EntityId entityId) override;
  32. // AZ::TransformNotificationBus::Handler
  33. void OnTransformChanged(const AZ::Transform& local, const AZ::Transform& world) override;
  34. // BoxShapeComponentRequestBus::Handler overrides ...
  35. bool IsTypeAxisAligned() const override;
  36. };
  37. } // namespace LmbrCentral