namespace Chaos { namespace Private { template<typename TParticleFilter, typename TShapeFilter, typename THitCollector> *tparam [TShapeFilter](API\Runtime\Chaos\Chaos\Collision\TShapeFilter) A custom filter functor with the signature const [FReal](API\Runtime\ChaosCore\Chaos\FReal) const [FSimSweepParticleHit](API\Runtime\Chaos\Chaos\Collision\FSimSweepParticleHit) &InHit *It should return true to continue checking further or false to stop any further sweeping *see [FSimSweepCollectorFirstHit](API\Runtime\Chaos\Chaos\Collision\FSimSweepCollectorFirstHit) which keeps the hit with the lowest time of impact and the most opposing normal [if](API\Plugins\NetcodeUnitTest\if) there is a tie **param SweptParticle The particle to be swept *param StartPos The start position of the particle to be swept *param Rot The rotation to usefor the [sweep](API\Runtime\Chaos\Chaos\Collision\Chaos__Private__sweep) *param Dir The direction of the they are not sorted by TOI *void Chaos::Private::SimSweepParticle ( [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< [FAccelerationStructureHandle](API\Runtime\Chaos\Chaos\FAccelerationStructureHandle), [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * SpatialAcceleration, const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * SweptParticle, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & StartPos, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & Rot, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, TParticleFilter & ParticleFilter, [TShapeFilter](API\Runtime\Chaos\Chaos\Collision\TShapeFilter) & ShapeFilter, THitCollector & HitCollector ) } }