mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 06:34:36 +00:00
Removes the body for the physicsBody's findContact function until it's ready to be finished/used with the entity/component stuff.
This corrects an error for PhysX compilation due to unready code being inadvertently added in with the e/c update.
This commit is contained in:
parent
95c0bcd411
commit
34ad0c39d5
2 changed files with 2 additions and 105 deletions
|
|
@ -421,54 +421,9 @@ void Px3Body::findContact(SceneObject **contactObject,
|
|||
VectorF *contactNormal,
|
||||
Vector<SceneObject*> *outOverlapObjects) const
|
||||
{
|
||||
// Calculate the sweep motion...
|
||||
F32 halfCapSize = mOriginOffset;
|
||||
F32 halfSmallCapSize = halfCapSize * 0.8f;
|
||||
F32 diff = halfCapSize - halfSmallCapSize;
|
||||
}
|
||||
|
||||
F32 distance = diff + mSkinWidth + 0.01f;
|
||||
physx::PxVec3 dir(0, 0, -1);
|
||||
|
||||
physx::PxScene *scene = mWorld->getScene();
|
||||
physx::PxHitFlags hitFlags(physx::PxHitFlag::eDEFAULT);
|
||||
physx::PxQueryFilterData filterData(physx::PxQueryFlag::eDYNAMIC | physx::PxQueryFlag::eSTATIC);
|
||||
filterData.data.word0 = PX3_DEFAULT;
|
||||
physx::PxSweepHit sweepHit;
|
||||
physx::PxRigidDynamic *actor = mController->getActor();
|
||||
physx::PxU32 shapeIndex;
|
||||
|
||||
bool hit = physx::PxRigidBodyExt::linearSweepSingle(*actor, *scene, dir, distance, hitFlags, sweepHit, shapeIndex, filterData);
|
||||
if (hit)
|
||||
{
|
||||
PhysicsUserData *data = PhysicsUserData::cast(sweepHit.actor->userData);
|
||||
if (data)
|
||||
{
|
||||
*contactObject = data->getObject();
|
||||
*contactNormal = px3Cast<Point3F>(sweepHit.normal);
|
||||
}
|
||||
}
|
||||
|
||||
// Check for overlapped objects ( triggers )
|
||||
|
||||
if (!outOverlapObjects)
|
||||
return;
|
||||
|
||||
filterData.data.word0 = PX3_TRIGGER;
|
||||
|
||||
const physx::PxU32 bufferSize = 10;
|
||||
physx::PxOverlapBufferN<bufferSize> hitBuffer;
|
||||
hit = scene->overlap(mGeometry, actor->getGlobalPose(), hitBuffer, filterData);
|
||||
if (hit)
|
||||
{
|
||||
for (U32 i = 0; i < hitBuffer.nbTouches; i++)
|
||||
{
|
||||
PhysicsUserData *data = PhysicsUserData::cast(hitBuffer.touches[i].actor->userData);
|
||||
if (data)
|
||||
outOverlapObjects->push_back(data->getObject());
|
||||
}
|
||||
}
|
||||
|
||||
}void Px3Body::moveKinematicTo(const MatrixF &transform)
|
||||
void Px3Body::moveKinematicTo(const MatrixF &transform)
|
||||
{
|
||||
AssertFatal(mActor, "Px3Body::moveKinematicTo - The actor is null!");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue