MantisBT - VTK | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0011164 | VTK | (No Category) | public | 2010-08-24 08:31 | 2016-08-12 09:55 |
Reporter | Sebastian Barth | ||||
Assigned To | Kitware Robot | ||||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | moved | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | Fixed in Version | ||||
Project | |||||
Type | |||||
Summary | 0011164: vtkAssembly does not implement the vtkProp::RenderOverlay(vtkViewport * ren) method | ||||
Description | The vtkAssembly of 5.6.0 does not have the recursive method: int vtkPropAssembly::RenderOverlay(vtkViewport * ren); Hybrid 2D/3D actors like vtkAxesActor do implement this method to get their 2D data rendered. The vtkAssembly does need this method, too. Not only because of the existence of these classes but rather because of their base class vtkProp3D which only defines the abilities to get positioned and oriented in 3D space and NOT that they are restricted to only render 3D graphics. E.g. if you don't add this method to vtkAssembly, the vtkAxesActor cannot display its caption labels when it has been added to the a vtkAssembly. | ||||
Steps To Reproduce | |||||
Additional Information | Here is the code of the method I've added to vtkAssembly.cxx: // Render this assembly and all its parts. The rendering process is recursive. int vtkAssembly::RenderOverlay(vtkViewport *ren) { vtkProp3D *prop3D; vtkAssemblyPath *path; double fraction; int renderedSomething=0; // Make sure the paths are up-to-date this->UpdatePaths(); // for allocating render time between components // simple equal allocation fraction = this->AllocatedRenderTime / static_cast<double>(this->Paths->GetNumberOfItems()); vtkCollectionSimpleIterator sit; for ( this->Paths->InitTraversal(sit); (path = this->Paths->GetNextPath(sit)); ) { prop3D = static_cast<vtkProp3D *>(path->GetLastNode()->GetViewProp()); if ( prop3D->GetVisibility() ) { prop3D->SetAllocatedRenderTime(fraction, ren); prop3D->PokeMatrix(path->GetLastNode()->GetMatrix()); renderedSomething += prop3D->RenderOverlay(ren); prop3D->PokeMatrix(NULL); } } renderedSomething = (renderedSomething > 0)?(1):(0); return renderedSomething; } | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | ![]() https://www.vtk.org/Bug/file/8344/vtkAssembly.cxx ![]() https://www.vtk.org/Bug/file/8345/vtkAssembly.h | ||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2010-08-24 08:31 | Sebastian Barth | New Issue | |||
2010-08-27 08:28 | Sebastian Barth | File Added: vtkAssembly.cxx | |||
2010-08-27 08:28 | Sebastian Barth | File Added: vtkAssembly.h | |||
2010-08-27 08:29 | Sebastian Barth | Note Added: 0021988 | |||
2011-06-16 13:11 | Zack Galbreath | Category | => (No Category) | ||
2016-08-12 09:55 | Kitware Robot | Note Added: 0037196 | |||
2016-08-12 09:55 | Kitware Robot | Status | expired => closed | ||
2016-08-12 09:55 | Kitware Robot | Resolution | open => moved | ||
2016-08-12 09:55 | Kitware Robot | Assigned To | => Kitware Robot |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|