8 #include "AsyncTexturing.h"
9 #include "AsyncModels.h"
10 #include "Rendering.h"
11 #include "CameraFrustumStreamingVolume.h"
13 #include "MortonKey.h"
14 #include "ICallback.h"
15 #include "CallbackCollection.h"
25 virtual bool operator()(
const Payload& payload)
const = 0;
35 std::vector<MortonKey> m_keysThatAreNowVisible;
36 std::vector<MortonKey> m_keysThatAreNoLongerVisible;
37 std::vector<MortonKey> m_currentlyVisibleKeys;
61 bool m_evictAllOnNextUpdate;
63 std::vector<Payload*> m_payloadsToLoadInPriorityOrder;
66 std::vector<TKeysCallback*> m_keyVisibleCallbacks;
67 std::vector<TKeysCallback*> m_keyInvisibleCallbacks;
97 void SetLODStreams(
const std::vector<Eegeo::Streaming::LodStreamMap>& lodStreamMaps);
99 void Update(
float deltaSeconds,
101 const dv3& ecefInterestPoint,
103 int numPayloadsWaitingToLoad();
104 int numPayloadsWaitingToBuild();
105 int numPayloadsPendingLoadCompletion()
const;
106 int numPayloadsFailedLoad();
110 bool AnyPayloadsInScene()
const;
112 void evictAllOnNextUpdate();
113 void SetEnabled(
bool enabled);
115 bool AllTexturesLoadedOrErrored()
const;
124 void UnregisterKeyInvisibleCallback(
TKeysCallback* callback);
126 void CallKeyVisibleCallbacks(
const std::vector<MortonKey>& newlyVisibleKeys);
127 void CallKeyInvisibleCallbacks(
const std::vector<MortonKey>& newlyInvisibleKeys);
129 const std::vector<MortonKey>& GetCurrentlyVisibleMortonKeys()
const;
132 void issueLoadRequests(
int updateCount);
134 void OnWebConnectivityStateChanged();