// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. #pragma once namespace physx { class PxRigidActor; class PxTransform; } /// /// A base interface for all physical actors types/owners that can responds on transformation changed event. /// class FLAXENGINE_API IPhysicsActor { public: /// /// Finalizes an instance of the class. /// virtual ~IPhysicsActor() = default; /// /// Gets the rigid actor (PhysX object) may be null. /// /// PhysX rigid actor or null if not using virtual physx::PxRigidActor* GetRigidActor() = 0; /// /// Called when actor's active transformation gets changed after the physics simulation step. /// /// /// This event is called internally by the Physics service and should not be used by the others. /// /// The current transformation. virtual void OnActiveTransformChanged(const physx::PxTransform& transform) = 0; };