3#include "Foundation/Collections/FixedIndexQueue.h"
15 struct WindowComponent;
16 struct DataSetComponent;
18 struct DataSetBuffers;
30 bool clear(
float spacing,
float maxPathUpsample);
34 const uint32_t getGeneration()
const {
return generation; }
41 float maxPathUpsample = 5;
42 uint32_t maxSliceSkip = 5;
43 float minDt = 1.f / 5;
44 uint32_t maxSlices = 10000;
45 uint32_t bufferFront = 0;
46 uint32_t bufferBack = 0;
47 uint32_t generation = 0;
48 uint32_t dataSetClearGen = 0;
50 bool retireEvictedSlices(int64_t validTimeStart);
52 bool seedIfQueueEmpty(
const Config& config,
const DataSetBuffers& buffer);
54 bool includeMostRecentSlices(
const Config& config,
const DataSetBuffers& buffer);
58 bool includeLessRecentSlices(
const Config& config,
const DataSetBuffers& buffer, int64_t validTimeStart);
60 std::pair<glm::vec3, float> entryPosition(
const Config& config,
const DataSetBuffers& buffer, uint32_t entryIx);
62 void printBuffer(
const Config& config,
const DataSetBuffers& buffer);
Indexable queue where an element index is fixed through arbitrary enqueues and dequeues.
Contains all Cogs related functionality.