vtkOpenGLCellToVTKCellMap CellCellMap Invalid
In Rendering/OpenGL2/vtkOpenGLCellToVTKCellMap.cpp, if the MapBuildState is updated and the CellCellMap cleared, mappers will not hardware probe accurately. This may be as a result of some other part of the application calling
BuildPrimitiveOffsetsIfNeeded before calling
Update, without the source data being updated in between the two calls. Then the CellCellMap will not be built during the update call and remain empty despite
CellMapSizes indicating it should have content.
I have seen this for some time as a very transient bug, but am now seeing it happen very routinely in my application. I assume that it is also the cause for the changes in !7137 (merged), as those changes would be some of the defensive programming needed to error handle this situation. It can be avoided if the if statement in
Update on line 287 changes from
if (this->MapBuildState != this->TempState) to
if (this->MapBuildState != this->TempState || this->CellCellMap.empty()), though that doesn't seem to be the proper fix for this bug. Would you have a better idea for how this could be fixed?