40 return Level->IsCurrentLevel();
57template<
class SurfaceFilter,
class LevelFilter=DefaultSurfaceLevelFilter >
66 check( CurrentSurface );
67 return CurrentSurface;
71 check( CurrentSurface );
72 return CurrentSurface;
74 inline explicit operator bool()
const
81 check( !bReachedEnd );
87 check( !bReachedEnd );
93 check( !bReachedEnd );
99 check( !bReachedEnd );
104 check( !bReachedEnd );
109 CurrentSurface =
NULL;
112 while ( !bReachedEnd && !CurrentSurface )
115 if ( !LevelFilter::IsSuitable( Level ) || ++SurfaceIndex >= Level->Model->Surfs.Num() )
123 CurrentSurface =
NULL;
129 Level = World->
GetLevel(LevelIndex);
130 if ( !LevelFilter::IsSuitable( Level ) )
137 if ( SurfaceIndex >= Level->Model->Surfs.Num() )
143 CurrentSurface = &Level->Model->Surfs[SurfaceIndex];
144 if ( !SurfaceFilterType::IsSuitable( CurrentSurface ) )
146 CurrentSurface =
NULL;
153 : bReachedEnd(
false )
157 , CurrentSurface(
NULL )
198template<
class LevelFilter=DefaultSurfaceLevelFilter >
233template<
class LevelFilter=DefaultSurfaceLevelFilter >
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ PF_Selected
Definition Model.h:260
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
FAllSurfaceLevelFilter DefaultSurfaceLevelFilter
Definition SurfaceIterators.h:46
Definition SurfaceIterators.h:187
static bool IsSuitable(const FBspSurf *Surface)
Definition SurfaceIterators.h:189
Definition SurfaceIterators.h:24
static bool IsSuitable(const ULevel *Level)
Definition SurfaceIterators.h:26
Definition SurfaceIterators.h:36
static bool IsSuitable(const ULevel *Level)
Definition SurfaceIterators.h:38
Definition SurfaceIterators.h:222
static bool IsSuitable(const FBspSurf *Surface)
Definition SurfaceIterators.h:224
Definition SurfaceIterators.h:235
TSelectedSurfaceIterator(UWorld *InWorld)
Definition SurfaceIterators.h:239
TSurfaceIteratorBase< FSelectedSurfaceFilter, LevelFilter > Super
Definition SurfaceIterators.h:237
Definition SurfaceIterators.h:59
int32 GetLevelIndex() const
Definition SurfaceIterators.h:91
TSurfaceIteratorBase(UWorld *InWorld)
Definition SurfaceIterators.h:152
UModel * GetModel()
Definition SurfaceIterators.h:79
int32 GetSurfaceIndex() const
Definition SurfaceIterators.h:85
UWorld * GetWorld()
Definition SurfaceIterators.h:97
ULevel * GetLevel() const
Definition SurfaceIterators.h:102
SurfaceFilter SurfaceFilterType
Definition SurfaceIterators.h:61
FBspSurf * operator*()
Definition SurfaceIterators.h:64
FBspSurf * operator->()
Definition SurfaceIterators.h:69
void operator++()
Definition SurfaceIterators.h:107
LevelFilter LevelFilterType
Definition SurfaceIterators.h:62
Definition SurfaceIterators.h:200
TSurfaceIteratorBase< FAllSurfaceFilter, LevelFilter > Super
Definition SurfaceIterators.h:202
TSurfaceIterator(UWorld *InWorld)
Definition SurfaceIterators.h:204
TObjectPtr< class UModel > Model
Definition Level.h:461
UE_API ULevel * GetLevel(int32 InLevelIndex) const
Definition World.cpp:9093
UE_API int32 GetNumLevels() const
Definition World.cpp:9105
@ false
Definition radaudio_common.h:23