2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2018-12-12 11:25:29 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
2019-10-02 17:27:26 -04:00
|
|
|
#if !WITH_CHAOS_NEEDS_TO_BE_FIXED
|
2019-06-08 17:15:34 -04:00
|
|
|
#include "SQAccelerator.h"
|
2018-12-12 11:25:29 -05:00
|
|
|
|
|
|
|
|
class UGeometryCollectionComponent;
|
|
|
|
|
|
2019-08-02 09:01:58 -04:00
|
|
|
class FGeometryCollectionSQAccelerator
|
2018-12-12 11:25:29 -05:00
|
|
|
{
|
|
|
|
|
public:
|
2019-08-02 09:01:58 -04:00
|
|
|
void Raycast(const FVector& Start, const FVector& Dir, const float DeltaMagnitude, ChaosInterface::FSQHitBuffer<ChaosInterface::FRaycastHit>& HitBuffer, EHitFlags OutputFlags, const FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase& QueryCallback) const;
|
2019-10-31 17:28:08 -04:00
|
|
|
void Sweep(const Chaos::FImplicitObject& QueryGeom, const FTransform& StartTM, const FVector& Dir, const float DeltaMagnitude, ChaosInterface::FSQHitBuffer<ChaosInterface::FSweepHit>& HitBuffer, EHitFlags OutputFlags, const FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase& QueryCallback) const;
|
|
|
|
|
void Overlap(const Chaos::FImplicitObject& QueryGeom, const FTransform& GeomPose, ChaosInterface::FSQHitBuffer<ChaosInterface::FOverlapHit>& HitBuffer, const FQueryFilterData& QueryFilterData, ICollisionQueryFilterCallbackBase& QueryCallback) const;
|
2018-12-12 11:25:29 -05:00
|
|
|
virtual ~FGeometryCollectionSQAccelerator() {}
|
|
|
|
|
|
|
|
|
|
void AddComponent(UGeometryCollectionComponent* Component);
|
|
|
|
|
void RemoveComponent(UGeometryCollectionComponent* Component);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TSet<UGeometryCollectionComponent*> Components;
|
|
|
|
|
};
|
|
|
|
|
#endif
|