|
| | TAABBTree () |
| |
| virtual void | Reset () override |
| |
| virtual void | ProgressAsyncTimeSlicing (bool ForceBuildCompletion) override |
| |
| template<typename TParticles > |
| | TAABBTree (const TParticles &Particles, int32 InMaxChildrenInLeaf=DefaultMaxChildrenInLeaf, int32 InMaxTreeDepth=DefaultMaxTreeDepth, T InMaxPayloadBounds=DefaultMaxPayloadBounds, int32 InMaxNumToProcess=DefaultMaxNumToProcess, bool bInDynamicTree=false, bool bInUseDirtyTree=false, bool bInBuildOverlapCache=true) |
| |
| | TAABBTree (EmptyInit, int32 InMaxChildrenInLeaf=DefaultMaxChildrenInLeaf, int32 InMaxTreeDepth=DefaultMaxTreeDepth, T InMaxPayloadBounds=DefaultMaxPayloadBounds, int32 InMaxNumToProcess=DefaultMaxNumToProcess, bool bInDynamicTree=false, bool bInUseDirtyTree=false, bool bInBuildOverlapCache=true) |
| |
| template<typename ParticleView > |
| void | Reinitialize (const ParticleView &Particles, int32 InMaxChildrenInLeaf=DefaultMaxChildrenInLeaf, int32 InMaxTreeDepth=DefaultMaxTreeDepth, T InMaxPayloadBounds=DefaultMaxPayloadBounds, int32 InMaxNumToProcess=DefaultMaxNumToProcess, bool bInDynamicTree=false, bool bInbBuildOverlapCache=true) |
| |
| virtual TArray< TPayloadType > | FindAllIntersections (const FAABB3 &Box) const override |
| |
| bool | GetAsBoundsArray (TArray< TAABB< T, 3 > > &AllBounds, int32 NodeIdx, int32 ParentNode, TAABB< T, 3 > &Bounds) |
| |
| virtual | ~TAABBTree () |
| |
| void | CopyFrom (const TAABBTree &Other) |
| |
| virtual TUniquePtr< ISpatialAcceleration< TPayloadType, T, 3 > > | Copy () const override |
| |
| virtual void | Raycast (const FVec3 &Start, const FVec3 &Dir, const FReal Length, ISpatialVisitor< TPayloadType, FReal > &Visitor) const override |
| |
| template<typename SQVisitor > |
| void | Raycast (const FVec3 &Start, const FVec3 &Dir, const FReal Length, SQVisitor &Visitor) const |
| |
| template<typename SQVisitor > |
| bool | RaycastFast (const FVec3 &Start, FQueryFastData &CurData, SQVisitor &Visitor, const FVec3 &Dir, const FVec3 InvDir, const bool bParallel[3]) const |
| |
| void | Sweep (const FVec3 &Start, const FVec3 &Dir, const FReal Length, const FVec3 QueryHalfExtents, ISpatialVisitor< TPayloadType, FReal > &Visitor) const override |
| |
| template<typename SQVisitor > |
| void | Sweep (const FVec3 &Start, const FVec3 &Dir, const FReal Length, const FVec3 QueryHalfExtents, SQVisitor &Visitor) const |
| |
| template<typename SQVisitor > |
| bool | SweepFast (const FVec3 &Start, FQueryFastData &CurData, const FVec3 QueryHalfExtents, SQVisitor &Visitor, const FVec3 &Dir, const FVec3 InvDir, const bool bParallel[3]) const |
| |
| void | Overlap (const FAABB3 &QueryBounds, ISpatialVisitor< TPayloadType, FReal > &Visitor) const override |
| |
| template<typename SQVisitor > |
| void | Overlap (const FAABB3 &QueryBounds, SQVisitor &Visitor) const |
| |
| template<typename SQVisitor > |
| bool | OverlapFast (const FAABB3 &QueryBounds, SQVisitor &Visitor) const |
| |
| void | GetCVars () |
| |
| FORCEINLINE_DEBUGGABLE bool | DirtyElementGridEnabled () const |
| |
| FORCEINLINE_DEBUGGABLE bool | EnoughSpaceInGridCell (int32 Hash) |
| |
| FORCEINLINE_DEBUGGABLE bool | AddNewDirtyParticleIndexToGridCell (int32 Hash, int32 NewDirtyIndex) |
| |
| FORCEINLINE_DEBUGGABLE bool | DeleteDirtyParticleIndexFromGridCell (int32 Hash, int32 DirtyIndex) |
| |
| FORCEINLINE_DEBUGGABLE void | DeleteDirtyParticleEverywhere (int32 DeleteDirtyParticleIdx, int32 DeleteDirtyGridOverflowIdx) |
| |
| FORCEINLINE_DEBUGGABLE int32 | AddDirtyElementToGrid (const TAABB< T, 3 > &NewBounds, int32 NewDirtyElement) |
| |
| FORCEINLINE_DEBUGGABLE int32 | UpdateDirtyElementInGrid (const TAABB< T, 3 > &NewBounds, int32 DirtyElementIndex, int32 DirtyGridOverflowIdx) |
| |
| FElementsCollection | DebugGetElementsCollection () const |
| |
| void | DynamicTreeDebugStats () const |
| |
| void | DumpStats () const override |
| |
| void | DumpStatsTo (FOutputDevice &Ar) const override |
| |
| int32 | AllocateInternalNode () |
| |
| NodeAndLeafIndices | AllocateLeafNodeAndLeaf (const TPayloadType &Payload, const TAABB< T, 3 > &NewBounds) |
| |
| void | DeAllocateInternalNode (int32 NodeIdx) |
| |
| void | DeAllocateLeafNode (int32 NodeIdx) |
| |
| int32 | WhichChildAmI (int32 NodeIdx) |
| |
| int32 | GetSiblingIndex (int32 NodeIdx) |
| |
| int32 | FindBestSibling (const TAABB< T, 3 > &InNewBounds, bool &bOutAddToLeaf) |
| |
| void | RotateNode (uint32 NodeIdx, bool debugAssert=false) |
| |
| NodeAndLeafIndices | InsertLeaf (const TPayloadType &Payload, const TAABB< T, 3 > &NewBounds) |
| |
| void | UpdateAncestorBounds (int32 NodeIdx, bool bDoRotation=false) |
| |
| void | RemoveLeafNode (int32 LeafNodeIdx, const TPayloadType &Payload) |
| |
| virtual bool | RemoveElement (const TPayloadType &Payload) override |
| |
| virtual bool | NeedUpdateElement (const TPayloadType &Payload, const TAABB< T, 3 > &NewBounds) override |
| |
| virtual bool | UpdateElement (const TPayloadType &Payload, const TAABB< T, 3 > &NewBounds, bool bInHasBounds) override |
| |
| int32 | NumDirtyElements () const |
| |
| const AABBTreeStatistics & | GetAABBTreeStatistics () |
| |
| const AABBTreeExpensiveStatistics & | GetAABBTreeExpensiveStatistics () |
| |
| const int32 | GetSubtreeDepth (const int32 NodeIdx) |
| |
| const TArray< TPayloadBoundsElement< TPayloadType, T > > & | GlobalObjects () const |
| |
| virtual bool | ShouldRebuild () override |
| |
| virtual void | ClearShouldRebuild () override |
| |
| virtual bool | IsTreeDynamic () const override |
| |
| void | SetTreeToDynamic () |
| |
| virtual void | PrepareCopyTimeSliced (const ISpatialAcceleration< TPayloadType, T, 3 > &InFrom) override |
| |
| virtual void | ProgressCopyTimeSliced (const ISpatialAcceleration< TPayloadType, T, 3 > &InFrom, int MaximumBytesToCopy) override |
| |
| FORCEINLINE_DEBUGGABLE bool | ValidateBounds (const TAABB< T, 3 > &Bounds) |
| |
| virtual void | Serialize (FChaosArchive &Ar) override |
| |
| void | FindOverlappingLeaf (const int32 FirstNode, const int32 LeafIndex, TArray< int32 > &NodeStack) |
| |
| void | AddNodesOverlappingLeaves (const TAABBTreeNode< T > &LeftNode, const TAABB< T, 3 > &LeftBounds, const TAABBTreeNode< T > &RightNode, const TAABB< T, 3 > &RightBounds, const bool bDirtyFilter) |
| |
| void | AddRootOverlappingLeaves (const TAABBTreeNode< T > &TreeNode, const bool bDirtyFilter) |
| |
| void | FillPersistentOverlappingPairs () |
| |
| void | PropagateLeavesDirtyFlag () |
| |
| void | ComputeOverlappingCacheFromRoot (const bool bDirtyFilter) |
| |
| void | ComputeOverlappingCacheFromLeaf () |
| |
| virtual void | CacheOverlappingLeaves () override |
| |
| void | PrintOverlappingLeaves () |
| |
| const TArray< TAABBTreeNode< T > > & | GetNodes () const |
| |
| const TArray< TLeafType > & | GetLeaves () const |
| |
| | ISpatialAcceleration (SpatialAccelerationType InType=static_cast< SpatialAccelerationType >(ESpatialAcceleration::Unknown)) |
| |
| | ISpatialAcceleration (ESpatialAcceleration InType) |
| |
| virtual | ~ISpatialAcceleration ()=default |
| |
| virtual bool | IsAsyncTimeSlicingComplete () |
| |
| virtual bool | UpdateElement (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, bool bHasBounds) |
| |
| virtual bool | RemoveElementFrom (const TPayloadType &Payload, FSpatialAccelerationIdx Idx) |
| |
| virtual bool | NeedUpdateElementIn (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, FSpatialAccelerationIdx Idx) |
| |
| virtual bool | UpdateElementIn (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, bool bHasBounds, FSpatialAccelerationIdx Idx) |
| |
| virtual void | DeepAssign (const ISpatialAcceleration< TPayloadType, T, d > &Other) |
| |
| virtual void | DebugDrawLeaf (ISpacialDebugDrawInterface< T > &InInterface, const FLinearColor &InLinearColor, float InThickness) const |
| |
| SpatialAccelerationType | GetType () const |
| |
| template<typename TConcrete > |
| TConcrete * | As () |
| |
| template<typename TConcrete > |
| const TConcrete * | As () const |
| |
| template<typename TConcrete > |
| TConcrete & | AsChecked () |
| |
| template<typename TConcrete > |
| const TConcrete & | AsChecked () const |
| |
| int32 | GetSyncTimestamp () |
| |
| void | SetSyncTimestamp (int32 InTimestamp) |
| |