54 void CreateInputBoundsBuffer(
vtkProp** propList,
unsigned int nbProps);
59 void CreateOutputIndicesBuffer(
int nbProps);
68 void CreateViewProjMatrixBuffer(
const std::vector<float>& matrixData);
76 void ResizeCuller(
vtkProp** propList,
int propsCount);
82 void ResizeBoundsBuffer(
vtkProp** propList,
int newPropsCount);
87 void ResizeOutputIndicesBuffer(
int newPropsCount);
93 void ResizeScratchList(
vtkProp** propList,
int listLength);
103 void TriggerBoundsRecomputation(
vtkProp** propList,
int listLength);
108 void UpdateBoundsBuffer(
vtkProp** propList,
int listLength);
119 static void OutputObjectCountMapCallback(
const void* mappedData,
void* userdata);
126 static void OutputObjectIndicesMapCallback(
const void* mappedData,
void* userdata);
142 struct OutputIndicesCallbackData
148 int* indicesCount =
nullptr;
151 std::vector<vtkProp*>* scratchList =
nullptr;
157 int PreviousPropsCount = -1;
166 std::vector<vtkProp*> CallbackScratchList;
169 int InputBoundsBufferIndex = -1;
171 int CameraViewProjMatrixBufferIndex = -1;
175 int OutputIndicesBufferIndex = -1;
177 int OutputObjectCountBufferIndex = -1;
virtual double Cull(vtkRenderer *ren, vtkProp **propList, int &listLength, int &initialized) override
This is called outside the render loop by vtkRenderer.