MCPcopy Create free account
hub / github.com/Kitware/VTK / RenderOverlay

Method RenderOverlay

Rendering/OpenGL2/vtkOpenGLPolyDataMapper2D.cxx:642–797  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

640
641//------------------------------------------------------------------------------
642void vtkOpenGLPolyDataMapper2D::RenderOverlay(vtkViewport* viewport, vtkActor2D* actor)
643{
644 vtkOpenGLClearErrorMacro();
645 vtkPolyData* input = this->GetInput();
646
647 vtkDebugMacro(<< "vtkOpenGLPolyDataMapper2D::Render");
648
649 if (input == nullptr)
650 {
651 vtkErrorMacro(<< "No input!");
652 return;
653 }
654
655 this->GetInputAlgorithm()->Update();
656 vtkIdType numPts = input->GetNumberOfPoints();
657 if (numPts == 0)
658 {
659 vtkDebugMacro(<< "No points!");
660 return;
661 }
662
663 if (this->LookupTable == nullptr)
664 {
665 this->CreateDefaultLookupTable();
666 }
667
668 vtkOpenGLRenderWindow* renWin = static_cast<vtkOpenGLRenderWindow*>(viewport->GetVTKWindow());
669 vtkOpenGLState* ostate = renWin->GetState();
670
671 this->ResourceCallback->RegisterGraphicsResources(renWin);
672
673 vtkRenderer* ren = vtkRenderer::SafeDownCast(viewport);
674 vtkHardwareSelector* selector = ren->GetSelector();
675 if (selector)
676 {
677 selector->BeginRenderProp();
678 }
679
680 int picking = (selector ? 1 : 0);
681 if (picking != this->LastPickState)
682 {
683 this->LastPickState = picking;
684 this->PickStateChanged.Modified();
685 }
686
687 // Assume we want to do Zbuffering for now.
688 // we may turn this off later
689 ostate->vtkglDepthMask(GL_TRUE);
690
691 // Update the VBO if needed.
692 if (this->VBOUpdateTime < this->GetMTime() || this->VBOUpdateTime < actor->GetMTime() ||
693 this->VBOUpdateTime < input->GetMTime() ||
694 (this->TransformCoordinate &&
695 (this->VBOUpdateTime < viewport->GetMTime() ||
696 this->VBOUpdateTime < viewport->GetVTKWindow()->GetMTime())))
697 {
698 this->UpdateVBO(actor, viewport);
699 this->VBOUpdateTime.Modified();

Callers

nothing calls this directly

Calls 15

UpdateVBOMethod · 0.95
UpdateShadersMethod · 0.95
HaveWideLinesMethod · 0.95
GetVTKWindowMethod · 0.80
vtkglDepthMaskMethod · 0.80
vtkglPointSizeMethod · 0.80
vtkglLineWidthMethod · 0.80
GetInputMethod · 0.45
UpdateMethod · 0.45
GetInputAlgorithmMethod · 0.45
GetNumberOfPointsMethod · 0.45

Tested by

no test coverage detected