View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
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 | ||||||||
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. | ||||||||
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. | ||||||||
Project | |||||||||
Type | |||||||||
Attached Files | vtkAssembly.cxx [^] (13,903 bytes) 2010-08-27 08:28 vtkAssembly.h [^] (6,725 bytes) 2010-08-27 08:28 | ||||||||
Relationships | |
Relationships |
Notes | |
(0021988) Sebastian Barth (reporter) 2010-08-27 08:29 |
I've patched the files by my own and uploaded them. They are based on VTK 5.6.0. |
(0037196) Kitware Robot (administrator) 2016-08-12 09:55 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page. |
Notes |
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 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |