A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
VRRootComponent.cpp File Reference
#include "VRRootComponent.h"
#include "WorldCollision.h"
#include "PhysicsPublic.h"
#include "DrawDebugHelpers.h"
#include "IHeadMountedDisplay.h"
#include "VRCharacter.h"
#include "Algo/Copy.h"
#include "Components/PrimitiveComponent.h"
Include dependency graph for VRRootComponent.cpp:

Go to the source code of this file.

Classes

class  FDrawVRCylinderSceneProxy
 
struct  FFastOverlapInfoCompare
 
struct  FPredicateFilterCannotOverlap
 
struct  FPredicateFilterCanOverlap
 
struct  FPredicateOverlapHasDifferentActor
 
struct  FPredicateOverlapHasSameActor
 

Namespaces

namespace  PrimitiveComponentStatics
 

Macros

#define LOCTEXT_NAMESPACE   "VRRootComponent"
 
#define PERF_MOVECOMPONENT_STATS   0
 

Typedefs

typedef TArray< const FOverlapInfo *, TInlineAllocator< 8 > > TInlineOverlapPointerArray
 

Functions

template<class AllocatorType >
FORCEINLINE_DEBUGGABLE void AddUniqueOverlapFast (TArray< FOverlapInfo, AllocatorType > &OverlapArray, FOverlapInfo &&NewOverlap)
 
template<class AllocatorType >
FORCEINLINE_DEBUGGABLE void AddUniqueOverlapFast (TArray< FOverlapInfo, AllocatorType > &OverlapArray, FOverlapInfo &NewOverlap)
 
static FORCEINLINE_DEBUGGABLE bool CanComponentsGenerateOverlap (const UPrimitiveComponent *MyComponent, UPrimitiveComponent *OtherComp)
 
 DECLARE_CYCLE_STAT (TEXT("PerformOverlapQueryVR Time"), STAT_PerformOverlapQueryVR, STATGROUP_VRRootComponent)
 
 DECLARE_CYCLE_STAT (TEXT("UpdateOverlapsVRRoot Time"), STAT_UpdateOverlapsVRRoot, STATGROUP_VRRootComponent)
 
 DECLARE_CYCLE_STAT (TEXT("VRRootMovement"), STAT_VRRootMovement, STATGROUP_VRRootComponent)
 
 DEFINE_LOG_CATEGORY (LogVRRootComponent)
 
template<class ElementType , class AllocatorType1 , class AllocatorType2 >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayData (TArray< const ElementType *, AllocatorType1 > &Pointers, const TArray< ElementType, AllocatorType2 > &DataArray)
 
template<class ElementType , class AllocatorType1 >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayData (TArray< const ElementType *, AllocatorType1 > &Pointers, const TArrayView< const ElementType > &DataArray)
 
template<class ElementType , class AllocatorType1 , class AllocatorType2 , typename PredicateT >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayDataByPredicate (TArray< const ElementType *, AllocatorType1 > &Pointers, const TArray< ElementType, AllocatorType2 > &DataArray, PredicateT Predicate)
 
template<class ElementType , class AllocatorType1 , typename PredicateT >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayDataByPredicate (TArray< const ElementType *, AllocatorType1 > &Pointers, const TArrayView< const ElementType > &DataArray, PredicateT Predicate)
 
template<class AllocatorType >
FORCEINLINE_DEBUGGABLE int32 IndexOfOverlapFast (const TArray< const FOverlapInfo *, AllocatorType > &OverlapPtrArray, const FOverlapInfo *SearchItem)
 
template<class AllocatorType >
FORCEINLINE_DEBUGGABLE int32 IndexOfOverlapFast (const TArray< FOverlapInfo, AllocatorType > &OverlapArray, const FOverlapInfo &SearchItem)
 
static const FName PrimitiveComponentStatics::MoveComponentName (TEXT("MoveComponent"))
 
static void PullBackHit (FHitResult &Hit, const FVector &Start, const FVector &End, const float Dist)
 
static bool ShouldCheckOverlapFlagToQueueOverlaps (const UPrimitiveComponent &ThisComponent)
 
static bool ShouldIgnoreHitResult (const UWorld *InWorld, bool bAllowSimulatingCollision, FHitResult const &TestHit, FVector const &MovementDirDenormalized, const AActor *MovingActor, EMoveComponentFlags MoveFlags)
 
static FORCEINLINE_DEBUGGABLE bool ShouldIgnoreOverlapResult (const UWorld *World, const AActor *ThisActor, const UPrimitiveComponent &ThisComponent, const AActor *OtherActor, const UPrimitiveComponent &OtherComponent, bool bCheckOverlapFlags)
 
static const FName PrimitiveComponentStatics::UpdateOverlapsName (TEXT("UpdateOverlaps"))
 

Variables

static int32 bEnableFastOverlapCheck = 1
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "VRRootComponent"

Definition at line 20 of file VRRootComponent.cpp.

◆ PERF_MOVECOMPONENT_STATS

#define PERF_MOVECOMPONENT_STATS   0

Definition at line 137 of file VRRootComponent.cpp.

Typedef Documentation

◆ TInlineOverlapPointerArray

typedef TArray<const FOverlapInfo*, TInlineAllocator<8> > TInlineOverlapPointerArray

Definition at line 26 of file VRRootComponent.cpp.

Function Documentation

◆ AddUniqueOverlapFast() [1/2]

template<class AllocatorType >
FORCEINLINE_DEBUGGABLE void AddUniqueOverlapFast ( TArray< FOverlapInfo, AllocatorType > & OverlapArray,
FOverlapInfo && NewOverlap )

Definition at line 236 of file VRRootComponent.cpp.

Here is the call graph for this function:

◆ AddUniqueOverlapFast() [2/2]

template<class AllocatorType >
FORCEINLINE_DEBUGGABLE void AddUniqueOverlapFast ( TArray< FOverlapInfo, AllocatorType > & OverlapArray,
FOverlapInfo & NewOverlap )

Definition at line 227 of file VRRootComponent.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CanComponentsGenerateOverlap()

static FORCEINLINE_DEBUGGABLE bool CanComponentsGenerateOverlap ( const UPrimitiveComponent * MyComponent,
UPrimitiveComponent * OtherComp )
static

Definition at line 29 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ DECLARE_CYCLE_STAT() [1/3]

DECLARE_CYCLE_STAT ( TEXT("PerformOverlapQueryVR Time") ,
STAT_PerformOverlapQueryVR ,
STATGROUP_VRRootComponent  )

◆ DECLARE_CYCLE_STAT() [2/3]

DECLARE_CYCLE_STAT ( TEXT("UpdateOverlapsVRRoot Time") ,
STAT_UpdateOverlapsVRRoot ,
STATGROUP_VRRootComponent  )

◆ DECLARE_CYCLE_STAT() [3/3]

DECLARE_CYCLE_STAT ( TEXT("VRRootMovement") ,
STAT_VRRootMovement ,
STATGROUP_VRRootComponent  )

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogVRRootComponent )

◆ GetPointersToArrayData() [1/2]

template<class ElementType , class AllocatorType1 , class AllocatorType2 >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayData ( TArray< const ElementType *, AllocatorType1 > & Pointers,
const TArray< ElementType, AllocatorType2 > & DataArray )
static

Definition at line 74 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ GetPointersToArrayData() [2/2]

template<class ElementType , class AllocatorType1 >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayData ( TArray< const ElementType *, AllocatorType1 > & Pointers,
const TArrayView< const ElementType > & DataArray )
static

Definition at line 85 of file VRRootComponent.cpp.

◆ GetPointersToArrayDataByPredicate() [1/2]

template<class ElementType , class AllocatorType1 , class AllocatorType2 , typename PredicateT >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayDataByPredicate ( TArray< const ElementType *, AllocatorType1 > & Pointers,
const TArray< ElementType, AllocatorType2 > & DataArray,
PredicateT Predicate )
static

Definition at line 97 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ GetPointersToArrayDataByPredicate() [2/2]

template<class ElementType , class AllocatorType1 , typename PredicateT >
static FORCEINLINE_DEBUGGABLE void GetPointersToArrayDataByPredicate ( TArray< const ElementType *, AllocatorType1 > & Pointers,
const TArrayView< const ElementType > & DataArray,
PredicateT Predicate )
static

Definition at line 110 of file VRRootComponent.cpp.

◆ IndexOfOverlapFast() [1/2]

template<class AllocatorType >
FORCEINLINE_DEBUGGABLE int32 IndexOfOverlapFast ( const TArray< const FOverlapInfo *, AllocatorType > & OverlapPtrArray,
const FOverlapInfo * SearchItem )

Definition at line 220 of file VRRootComponent.cpp.

◆ IndexOfOverlapFast() [2/2]

template<class AllocatorType >
FORCEINLINE_DEBUGGABLE int32 IndexOfOverlapFast ( const TArray< FOverlapInfo, AllocatorType > & OverlapArray,
const FOverlapInfo & SearchItem )

Definition at line 213 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ PullBackHit()

static void PullBackHit ( FHitResult & Hit,
const FVector & Start,
const FVector & End,
const float Dist )
static

Definition at line 244 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ ShouldCheckOverlapFlagToQueueOverlaps()

static bool ShouldCheckOverlapFlagToQueueOverlaps ( const UPrimitiveComponent & ThisComponent)
static

Definition at line 125 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ ShouldIgnoreHitResult()

static bool ShouldIgnoreHitResult ( const UWorld * InWorld,
bool bAllowSimulatingCollision,
FHitResult const & TestHit,
FVector const & MovementDirDenormalized,
const AActor * MovingActor,
EMoveComponentFlags MoveFlags )
static

Definition at line 250 of file VRRootComponent.cpp.

Here is the caller graph for this function:

◆ ShouldIgnoreOverlapResult()

static FORCEINLINE_DEBUGGABLE bool ShouldIgnoreOverlapResult ( const UWorld * World,
const AActor * ThisActor,
const UPrimitiveComponent & ThisComponent,
const AActor * OtherActor,
const UPrimitiveComponent & OtherComponent,
bool bCheckOverlapFlags )
static

Definition at line 311 of file VRRootComponent.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ bEnableFastOverlapCheck

int32 bEnableFastOverlapCheck = 1
static

Definition at line 122 of file VRRootComponent.cpp.