Refactor Physics to separate PhysicsBackend

#673
This commit is contained in:
Wojtek Figat
2022-01-20 23:28:43 +01:00
parent cf1af53ab8
commit 427846f73b
66 changed files with 4803 additions and 4327 deletions

View File

@@ -6,6 +6,7 @@
#include "Engine/Physics/Collisions.h"
class PhysicsColliderActor;
class Collider;
/// <summary>
/// Physics simulation driven object.
@@ -16,7 +17,7 @@ API_CLASS() class FLAXENGINE_API RigidBody : public PhysicsActor
DECLARE_SCENE_OBJECT(RigidBody);
protected:
PxRigidDynamic* _actor;
void* _actor;
Vector3 _cachedScale;
float _mass;
@@ -386,15 +387,6 @@ public:
/// </summary>
API_FUNCTION() void UpdateMass();
/// <summary>
/// Gets the native PhysX rigid actor object.
/// </summary>
/// <returns>The PhysX dynamic rigid actor.</returns>
FORCE_INLINE PxRigidDynamic* GetPhysXRigidActor() const
{
return _actor;
}
/// <summary>
/// Applies a force (or impulse) defined in the world space to the rigidbody at its center of mass.
/// </summary>
@@ -547,11 +539,6 @@ public:
protected:
/// <summary>
/// Creates the physics actor.
/// </summary>
void CreateActor();
/// <summary>
/// Updates the rigidbody scale dependent properties like mass (may be modified when actor transformation changes).
/// </summary>
@@ -562,8 +549,7 @@ public:
// [PhysicsActor]
void Serialize(SerializeStream& stream, const void* otherObj) override;
void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) override;
PxActor* GetPhysXActor() override;
PxRigidActor* GetRigidActor() override;
void* GetPhysicsActor() const override;
protected: