Program Listing for File penetrationquery.hpp

Return to documentation for file (/home/runner/work/Legion-Engine/Legion-Engine/legion/engine/physics/data/penetrationquery.hpp)

#pragma once

#include <core/core.hpp>

namespace legion::physics
{
    struct physics_manifold;
    class PhysicsCollider;

    //After a collision is found, stores the necessary information to create contact points
    class PenetrationQuery
    {
    public:

        math::vec3 faceCentroid,normal;
        float penetration = 0.0f;
        bool isARef;
        std::string debugID = "na";

        PenetrationQuery(math::vec3& pFaceCentroid,math::vec3& pNormal,float pPenetration,bool pIsARef) :
            faceCentroid(pFaceCentroid),normal(pNormal),penetration(pPenetration),isARef(pIsARef)
        {

        }

        virtual void populateContactList(physics_manifold& manifold
            ,math::mat4& refTransform,math::mat4 incTransform, PhysicsCollider* refCollider)
        {

        }
    };

}