You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
C++
40 lines
1.5 KiB
C++
/*
|
|
* Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <PxPhysicsAPI.h>
|
|
#include <AzCore/base.h>
|
|
|
|
namespace AzPhysics
|
|
{
|
|
class CollisionGroup;
|
|
class CollisionLayer;
|
|
}
|
|
|
|
namespace PhysX
|
|
{
|
|
namespace Collision
|
|
{
|
|
physx::PxFilterFlags DefaultFilterShader(
|
|
physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0,
|
|
physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1,
|
|
physx::PxPairFlags& pairFlags, const void* constantBlock, physx::PxU32 constantBlockSize);
|
|
|
|
physx::PxFilterFlags DefaultFilterShaderCCD(
|
|
physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0,
|
|
physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1,
|
|
physx::PxPairFlags& pairFlags, const void* constantBlock, physx::PxU32 constantBlockSize);
|
|
|
|
AZ::u64 Combine(AZ::u32 word0, AZ::u32 word1);
|
|
physx::PxFilterData CreateFilterData(const AzPhysics::CollisionLayer& layer, const AzPhysics::CollisionGroup& group);
|
|
void SetLayer(const AzPhysics::CollisionLayer& layer, physx::PxFilterData& filterData);
|
|
void SetGroup(const AzPhysics::CollisionGroup& group, physx::PxFilterData& filterData);
|
|
bool ShouldCollide(const physx::PxFilterData& filterData0, const physx::PxFilterData& filterData1);
|
|
}
|
|
}
|