Commit 3b018bbf57991cac73272e68faca09f8739bc1b5
1 parent
a3104e14
Exists in
master
and in
68 other branches
ENH: Improvement on surface rendering (#238)
Showing
1 changed file
with
5 additions
and
4 deletions
Show diff stats
invesalius/data/surface.py
| ... | ... | @@ -235,7 +235,7 @@ class SurfaceManager(): |
| 235 | 235 | mapper = vtk.vtkPolyDataMapper() |
| 236 | 236 | mapper.SetInput(normals.GetOutput()) |
| 237 | 237 | mapper.ScalarVisibilityOff() |
| 238 | - mapper.ImmediateModeRenderingOn() | |
| 238 | + mapper.ImmediateModeRenderingOn() # improve performance | |
| 239 | 239 | |
| 240 | 240 | actor = vtk.vtkActor() |
| 241 | 241 | actor.SetMapper(mapper) |
| ... | ... | @@ -325,13 +325,13 @@ class SurfaceManager(): |
| 325 | 325 | for key in surface_dict: |
| 326 | 326 | surface = surface_dict[key] |
| 327 | 327 | # Map polygonal data (vtkPolyData) to graphics primitives. |
| 328 | - | |
| 329 | 328 | normals = vtk.vtkPolyDataNormals() |
| 330 | 329 | normals.SetInput(surface.polydata) |
| 331 | 330 | normals.SetFeatureAngle(80) |
| 332 | 331 | normals.AutoOrientNormalsOn() |
| 333 | 332 | normals.GetOutput().ReleaseDataFlagOn() |
| 334 | 333 | |
| 334 | + # Improve performance | |
| 335 | 335 | stripper = vtk.vtkStripper() |
| 336 | 336 | stripper.SetInput(normals.GetOutput()) |
| 337 | 337 | stripper.PassThroughCellIdsOn() |
| ... | ... | @@ -340,7 +340,7 @@ class SurfaceManager(): |
| 340 | 340 | mapper = vtk.vtkPolyDataMapper() |
| 341 | 341 | mapper.SetInput(stripper.GetOutput()) |
| 342 | 342 | mapper.ScalarVisibilityOff() |
| 343 | - mapper.ImmediateModeRenderingOn() | |
| 343 | + mapper.ImmediateModeRenderingOn() # improve performance | |
| 344 | 344 | |
| 345 | 345 | # Represent an object (geometry & properties) in the rendered scene |
| 346 | 346 | actor = vtk.vtkActor() |
| ... | ... | @@ -461,6 +461,7 @@ class SurfaceManager(): |
| 461 | 461 | normals.AutoOrientNormalsOn() |
| 462 | 462 | normals.GetOutput().ReleaseDataFlagOn() |
| 463 | 463 | |
| 464 | + # Improve performance | |
| 464 | 465 | stripper = vtk.vtkStripper() |
| 465 | 466 | stripper.AddObserver("ProgressEvent", lambda obj,evt: |
| 466 | 467 | UpdateProgress(obj, _("Generating 3D surface..."))) |
| ... | ... | @@ -472,7 +473,7 @@ class SurfaceManager(): |
| 472 | 473 | mapper = vtk.vtkPolyDataMapper() |
| 473 | 474 | mapper.SetInput(stripper.GetOutput()) |
| 474 | 475 | mapper.ScalarVisibilityOff() |
| 475 | - mapper.ImmediateModeRendering() | |
| 476 | + mapper.ImmediateModeRendering() # improve performance | |
| 476 | 477 | |
| 477 | 478 | # Represent an object (geometry & properties) in the rendered scene |
| 478 | 479 | actor = vtk.vtkActor() | ... | ... |