mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: avoid ref to synchronization for non-MPI VTK build (fixes #1349)
This commit is contained in:
committed by
Andrew Heather
parent
96e7dd8da6
commit
7e935bd191
@ -42,15 +42,14 @@ License
|
|||||||
#include "vtkSmartPointer.h"
|
#include "vtkSmartPointer.h"
|
||||||
#include "vtkLight.h"
|
#include "vtkLight.h"
|
||||||
|
|
||||||
|
#include "vtkDummyController.h"
|
||||||
|
|
||||||
#ifdef FOAM_USING_VTK_MPI
|
#ifdef FOAM_USING_VTK_MPI
|
||||||
# include "vtkMPICommunicator.h"
|
# include "vtkMPICommunicator.h"
|
||||||
# include "vtkMPIController.h"
|
# include "vtkMPIController.h"
|
||||||
#endif
|
|
||||||
#include "vtkDummyController.h"
|
|
||||||
|
|
||||||
#include "vtkSynchronizedRenderWindows.h"
|
|
||||||
# include "vtkCompositedSynchronizedRenderers.h"
|
# include "vtkCompositedSynchronizedRenderers.h"
|
||||||
|
# include "vtkSynchronizedRenderWindows.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -137,27 +136,21 @@ void Foam::functionObjects::runTimePostProcessing::render
|
|||||||
Log << name() << " render" << endl;
|
Log << name() << " render" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Normal rendering elements
|
|
||||||
vtkSmartPointer<vtkRenderer> renderer;
|
|
||||||
vtkSmartPointer<vtkRenderWindow> renderWindow;
|
|
||||||
|
|
||||||
// Multi-process synchronization
|
|
||||||
vtkSmartPointer<vtkSynchronizedRenderWindows> syncWindows;
|
|
||||||
vtkSmartPointer<vtkCompositedSynchronizedRenderers> syncRenderers;
|
|
||||||
|
|
||||||
|
|
||||||
// Disable any floating point trapping
|
// Disable any floating point trapping
|
||||||
// (some low-level rendering functionality does not like it)
|
// (some low-level rendering functionality does not like it)
|
||||||
|
|
||||||
sigFpe::ignore sigFpeHandling; //<- disable in local scope
|
sigFpe::ignore sigFpeHandling; //<- disable in local scope
|
||||||
|
|
||||||
|
|
||||||
|
// Normal rendering elements
|
||||||
|
vtkSmartPointer<vtkRenderer> renderer;
|
||||||
|
vtkSmartPointer<vtkRenderWindow> renderWindow;
|
||||||
|
|
||||||
// Initialise render window
|
// Initialise render window
|
||||||
if (controller || Pstream::master())
|
if (controller || Pstream::master())
|
||||||
{
|
{
|
||||||
renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
|
|
||||||
renderer = vtkSmartPointer<vtkRenderer>::New();
|
renderer = vtkSmartPointer<vtkRenderer>::New();
|
||||||
|
renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
|
||||||
|
|
||||||
renderWindow->OffScreenRenderingOn();
|
renderWindow->OffScreenRenderingOn();
|
||||||
renderWindow->SetSize(output_.width_, output_.height_);
|
renderWindow->SetSize(output_.width_, output_.height_);
|
||||||
@ -174,15 +167,22 @@ void Foam::functionObjects::runTimePostProcessing::render
|
|||||||
renderWindow->AddRenderer(renderer);
|
renderWindow->AddRenderer(renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Synchronization
|
|
||||||
|
// ---------------------
|
||||||
|
#ifdef FOAM_USING_VTK_MPI
|
||||||
|
|
||||||
|
// Multi-process synchronization
|
||||||
|
vtkSmartPointer<vtkCompositedSynchronizedRenderers> syncRenderers;
|
||||||
|
vtkSmartPointer<vtkSynchronizedRenderWindows> syncWindows;
|
||||||
|
|
||||||
if (controller)
|
if (controller)
|
||||||
{
|
{
|
||||||
syncWindows =
|
|
||||||
vtkSmartPointer<vtkSynchronizedRenderWindows>::New();
|
|
||||||
|
|
||||||
syncRenderers =
|
syncRenderers =
|
||||||
vtkSmartPointer<vtkCompositedSynchronizedRenderers>::New();
|
vtkSmartPointer<vtkCompositedSynchronizedRenderers>::New();
|
||||||
|
|
||||||
|
syncWindows =
|
||||||
|
vtkSmartPointer<vtkSynchronizedRenderWindows>::New();
|
||||||
|
|
||||||
syncWindows->SetRenderWindow(renderWindow);
|
syncWindows->SetRenderWindow(renderWindow);
|
||||||
syncWindows->SetParallelController(controller);
|
syncWindows->SetParallelController(controller);
|
||||||
syncWindows->SetIdentifier(1);
|
syncWindows->SetIdentifier(1);
|
||||||
@ -193,7 +193,7 @@ void Foam::functionObjects::runTimePostProcessing::render
|
|||||||
syncRenderers->SetRenderer(renderer);
|
syncRenderers->SetRenderer(renderer);
|
||||||
syncRenderers->SetParallelController(controller);
|
syncRenderers->SetParallelController(controller);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
// ---------------------
|
// ---------------------
|
||||||
|
|
||||||
scene_.initialise(renderer, output_.name_);
|
scene_.initialise(renderer, output_.name_);
|
||||||
|
|||||||
Reference in New Issue
Block a user