Commit ca6f95b5 authored by Berk Geveci's avatar Berk Geveci
Browse files

ENH: Removed deprecated classes

parent 509596f6
......@@ -20,7 +20,7 @@ for {set i 1} {$i < [expr $argc - 1]} {incr i} {
}
}
vtkMultiProcessController mpc
vtkMPIController mpc
set gc [mpc GetGlobalController]
mpc Delete
......
......@@ -64,10 +64,8 @@ vtkExtractPolyDataPiece.cxx
vtkExtractUnstructuredGridPiece.cxx
vtkExtractUserDefinedPiece.cxx
vtkPKdTree.cxx
vtkInputPort.cxx
vtkMemoryLimitImageDataStreamer.cxx
vtkMultiProcessController.cxx
vtkOutputPort.cxx
vtkParallelRenderManager.cxx
vtkPassThroughFilter.cxx
vtkPCellDataToPointData.cxx
......@@ -104,33 +102,13 @@ IF(VTK_HAS_EXODUS)
ENDIF(VTK_HAS_EXODUS)
SET_SOURCE_FILES_PROPERTIES(
vtkCommunicator
vtkMultiProcessController
vtkParallelRenderManager
vtkPStreamTracer
ABSTRACT
)
IF (CMAKE_USE_PTHREADS)
SET(VTK_HAS_THREADS 1)
ENDIF (CMAKE_USE_PTHREADS)
IF (CMAKE_USE_SPROC)
SET(VTK_HAS_THREADS 1)
ENDIF (CMAKE_USE_SPROC)
IF (CMAKE_USE_WIN32_THREADS)
SET(VTK_HAS_THREADS 1)
ENDIF (CMAKE_USE_WIN32_THREADS)
IF (VTK_HAS_THREADS)
SET ( Kit_SRCS
${Kit_SRCS}
vtkSharedMemoryCommunicator.cxx
vtkThreadedController.cxx)
ENDIF (VTK_HAS_THREADS)
SET_SOURCE_FILES_PROPERTIES(
vtkCommunicator
ABSTRACT)
IF (VTK_USE_MPI)
INCLUDE (${CMAKE_ROOT}/Modules/FindMPI.cmake)
SET ( Kit_SRCS
......
IF(VTK_USE_DISPLAY)
ADD_EXECUTABLE(SocketServer SocketServer.cxx)
ADD_EXECUTABLE(SocketClient SocketClient.cxx)
IF(VTK_USE_DISPLAY AND VTK_USE_RENDERING)
ADD_EXECUTABLE(SocketServer SocketServer.cxx)
ADD_EXECUTABLE(SocketClient SocketClient.cxx)
TARGET_LINK_LIBRARIES(SocketClient vtkParallel)
TARGET_LINK_LIBRARIES(SocketServer vtkParallel)
IF (VTK_HAS_THREADS OR VTK_USE_MPI)
IF (VTK_USE_RENDERING)
IF (VTK_USE_MPI)
ADD_EXECUTABLE(ParallelIsoTest ParallelIso.cxx)
TARGET_LINK_LIBRARIES(ParallelIsoTest vtkVolumeRendering vtkParallel vtkHybrid vtkWidgets)
ENDIF (VTK_USE_RENDERING)
ADD_EXECUTABLE(GenericCommunicator GenericCommunicator.cxx)
TARGET_LINK_LIBRARIES(GenericCommunicator vtkParallel)
ADD_EXECUTABLE(TestPStream TestPStream.cxx)
TARGET_LINK_LIBRARIES(TestPStream vtkParallel)
ENDIF (VTK_HAS_THREADS OR VTK_USE_MPI)
IF (VTK_HAS_THREADS)
ADD_EXECUTABLE(ThreadedCommunicator ThreadedCommunicator.cxx)
TARGET_LINK_LIBRARIES(ThreadedCommunicator vtkParallel)
ENDIF (VTK_HAS_THREADS)
ADD_EXECUTABLE(GenericCommunicator GenericCommunicator.cxx)
TARGET_LINK_LIBRARIES(GenericCommunicator vtkParallel)
TARGET_LINK_LIBRARIES(SocketServer vtkParallel)
TARGET_LINK_LIBRARIES(SocketClient vtkParallel)
ADD_EXECUTABLE(TestPStream TestPStream.cxx)
TARGET_LINK_LIBRARIES(TestPStream vtkParallel)
IF (VTK_USE_MPI)
ADD_EXECUTABLE(MPIGroups MPIGroups.cxx)
TARGET_LINK_LIBRARIES(MPIGroups vtkParallel)
ADD_EXECUTABLE(MPIGroups MPIGroups.cxx)
TARGET_LINK_LIBRARIES(MPIGroups vtkParallel)
ADD_EXECUTABLE(DistributedData DistributedData.cxx)
TARGET_LINK_LIBRARIES(DistributedData vtkParallel)
ENDIF (VTK_USE_MPI)
ADD_EXECUTABLE(DistributedData DistributedData.cxx)
TARGET_LINK_LIBRARIES(DistributedData vtkParallel)
#
# Add tests, with the data
#
ADD_TEST(GenericCommunicator-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/GenericCommunicator
${VTK_MPI_POSTFLAGS})
IF (VTK_DATA_ROOT)
IF (VTK_USE_RENDERING)
IF (VTK_HAS_THREADS)
ADD_TEST(ThreadedCommunicator-image
${CXX_TEST_PATH}/ThreadedCommunicator
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/ThreadedCommunicator.cxx.png)
ENDIF (VTK_HAS_THREADS)
#
# Add tests, with the data
#
IF (VTK_USE_MPI)
IF (UNIX)
IF (VTK_DATA_ROOT)
IF (VTK_MPIRUN_EXE)
IF(VTK_MPI_MAX_NUMPROCS GREATER 1)
ADD_TEST(ParallelIsoMPI-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/ParallelIsoTest
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/ParallelIso.cxx.png
${VTK_MPI_POSTFLAGS})
ADD_TEST(TestCommunicatorMPI-image
ADD_TEST(ParallelIso-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/GenericCommunicator
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/GenericCommunicator.cxx.png
${VTK_MPI_POSTFLAGS})
ADD_TEST(TestPStreamMPI-image
${CXX_TEST_PATH}/ParallelIsoTest
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/ParallelIso.cxx.png
${VTK_MPI_POSTFLAGS})
ADD_TEST(TestPStream-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/TestPStream
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/TestPStream.cxx.png
${VTK_MPI_POSTFLAGS})
${CXX_TEST_PATH}/TestPStream
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/TestPStream.cxx.png
${VTK_MPI_POSTFLAGS})
ADD_TEST(DistributedData-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/DistributedData
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/DistributedData.cxx.png
${VTK_MPI_POSTFLAGS})
ENDIF(VTK_MPI_MAX_NUMPROCS GREATER 1)
IF (VTK_MPI_MAX_NUMPROCS)
IF (VTK_MPI_MAX_NUMPROCS GREATER 3)
ADD_TEST(MPIGroups-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} ${VTK_MPI_MAX_NUMPROCS} ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/MPIGroups
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/MPIGroups.cxx.png
${VTK_MPI_POSTFLAGS})
ENDIF (VTK_MPI_MAX_NUMPROCS GREATER 3)
ENDIF (VTK_MPI_MAX_NUMPROCS)
ENDIF(VTK_MPIRUN_EXE)
ENDIF (UNIX)
ELSE (VTK_USE_MPI)
IF (VTK_HAS_THREADS)
ADD_TEST(ParallelIso-image ${CXX_TEST_PATH}/ParallelIsoTest
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/ParallelIso.cxx.png)
ADD_TEST(TestCommunicator-image ${CXX_TEST_PATH}/GenericCommunicator
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/GenericCommunicator.cxx.png)
ENDIF (VTK_HAS_THREADS)
ENDIF (VTK_USE_MPI)
ENDIF (VTK_USE_RENDERING)
IF (VTK_MPI_MAX_NUMPROCS GREATER 3)
ADD_TEST(MPIGroups-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} ${VTK_MPI_MAX_NUMPROCS} ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/MPIGroups
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/MPIGroups.cxx.png
${VTK_MPI_POSTFLAGS})
ENDIF (VTK_MPI_MAX_NUMPROCS GREATER 3)
IF (VTK_USE_MPI)
IF (VTK_MPIRUN_EXE)
IF(VTK_MPI_MAX_NUMPROCS GREATER 1)
ADD_TEST(DistributedData-image
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/DistributedData
-D ${VTK_DATA_ROOT}
-T ${VTK_BINARY_DIR}/Testing/Temporary
-V Baseline/Parallel/DistributedData.cxx.png
${VTK_MPI_POSTFLAGS})
ENDIF(VTK_MPI_MAX_NUMPROCS GREATER 1)
ENDIF (VTK_MPIRUN_EXE)
ENDIF (VTK_MPIRUN_EXE)
#
# If we do not have the data, still run the tests that we can
#
ELSE (VTK_DATA_ROOT)
IF (VTK_MPIRUN_EXE)
ADD_TEST(TestCommunicator
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/GenericCommunicator ${VTK_MPI_POSTFLAGS})
ENDIF(VTK_MPIRUN_EXE)
ENDIF (VTK_DATA_ROOT)
ENDIF (VTK_USE_MPI)
#
# If we do not have the data, still run the tests that we can
#
ELSE (VTK_DATA_ROOT)
IF (VTK_USE_RENDERING)
IF (VTK_HAS_THREADS)
ADD_TEST(ThreadedCommunicator ${CXX_TEST_PATH}/ThreadedCommunicator)
ENDIF (VTK_HAS_THREADS)
IF (VTK_USE_MPI)
IF(UNIX)
IF (VTK_MPIRUN_EXE)
ADD_TEST(TestCommunicatorMPI
${VTK_MPIRUN_EXE} ${VTK_MPI_NUMPROC_FLAG} 2 ${VTK_MPI_PREFLAGS}
${CXX_TEST_PATH}/GenericCommunicator ${VTK_MPI_POSTFLAGS})
ENDIF(VTK_MPIRUN_EXE)
ENDIF(UNIX)
ELSE (VTK_USE_MPI)
IF (VTK_HAS_THREADS)
ADD_TEST(TestCommunicator ${CXX_TEST_PATH}/GenericCommunicator)
ENDIF (VTK_HAS_THREADS)
ENDIF (VTK_USE_MPI)
ENDIF (VTK_USE_RENDERING)
ENDIF (VTK_DATA_ROOT)
# For now this test is only available on Unix because
# on Windows, python does not support forking/killing processes
IF (UNIX)
IF (PYTHON_EXECUTABLE)
IF (VTK_DATA_ROOT)
ADD_TEST(Sockets-image ${PYTHON_EXECUTABLE}
${VTK_SOURCE_DIR}/Parallel/Testing/Cxx/TestSockets.py
${VTK_EXECUTABLE_DIR}/SocketServer
${VTK_EXECUTABLE_DIR}/SocketClient
${VTK_DATA_ROOT}
Baseline/Parallel/SocketClient.cxx.png
${VTK_BINARY_DIR}/Testing/Temporary)
ENDIF (VTK_DATA_ROOT)
ENDIF (PYTHON_EXECUTABLE)
ENDIF (UNIX)
ENDIF(VTK_USE_DISPLAY)
# For now this test is only available on Unix because
# on Windows, python does not support forking/killing processes
IF (UNIX)
IF (PYTHON_EXECUTABLE)
IF (VTK_DATA_ROOT)
ADD_TEST(Sockets-image ${PYTHON_EXECUTABLE}
${VTK_SOURCE_DIR}/Parallel/Testing/Cxx/TestSockets.py
${VTK_EXECUTABLE_DIR}/SocketServer
${VTK_EXECUTABLE_DIR}/SocketClient
${VTK_DATA_ROOT}
Baseline/Parallel/SocketClient.cxx.png
${VTK_BINARY_DIR}/Testing/Temporary)
ENDIF (VTK_DATA_ROOT)
ENDIF (PYTHON_EXECUTABLE)
ENDIF (UNIX)
ENDIF(VTK_USE_DISPLAY AND VTK_USE_RENDERING)
......@@ -32,7 +32,7 @@
#include "vtkDistributedDataFilter.h"
#include "vtkDataSetSurfaceFilter.h"
#include "vtkPieceScalars.h"
#include "vtkMultiProcessController.h"
#include "vtkMPIController.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkRenderer.h"
......@@ -246,7 +246,7 @@ int main(int argc, char **argv)
{
int retVal = 1;
vtkMultiProcessController *contr = vtkMultiProcessController::New();
vtkMPIController *contr = vtkMPIController::New();
contr->Initialize(&argc, &argv);
vtkMultiProcessController::SetGlobalController(contr);
......
......@@ -20,10 +20,8 @@
#include "vtkDoubleArray.h"
#include "vtkFloatArray.h"
#include "vtkIdTypeArray.h"
#include "vtkInputPort.h"
#include "vtkIntArray.h"
#include "vtkMultiProcessController.h"
#include "vtkOutputPort.h"
#include "vtkMPIController.h"
#include "vtkParallelFactory.h"
#include "vtkPolyData.h"
#include "vtkPolyDataMapper.h"
......@@ -37,9 +35,7 @@
#include "vtkDebugLeaks.h"
#include "vtkRegressionTestImage.h"
#ifdef VTK_USE_MPI
# include <mpi.h>
#endif
#include <mpi.h>
static const int scMsgLength = 10;
......@@ -50,31 +46,26 @@ struct GenericCommunicatorArgs_tmp
char** argv;
};
static void UpdateXFreq(vtkObject *vtkNotUsed( caller ),
unsigned long vtkNotUsed(eventId),
void *cd, void *)
{
vtkRTAnalyticSource* id = reinterpret_cast<vtkRTAnalyticSource*>(cd);
id->SetXFreq(id->GetXFreq()+20);
}
void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
{
vtkCommunicator* comm = contr->GetCommunicator();
int i;
int i, retVal=1;
// Test receiving all supported types of arrays
vtkIntArray* ia = vtkIntArray::New();
if (!comm->Receive(ia, 0, 11))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<ia->GetNumberOfTuples(); i++)
{
if (ia->GetValue(i) != i)
{
cerr << "Server error: Corrupt integer array." << endl;
retVal = 0;
break;
}
}
ia->Delete();
......@@ -83,12 +74,15 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(ula, 0, 22))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<ula->GetNumberOfTuples(); i++)
{
if (ula->GetValue(i) != static_cast<unsigned long>(i))
{
cerr << "Server error: Corrupt unsigned long array." << endl;
retVal = 0;
break;
}
}
ula->Delete();
......@@ -97,12 +91,15 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(ca, 0, 33))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<ca->GetNumberOfTuples(); i++)
{
if (ca->GetValue(i) != static_cast<char>(i))
{
cerr << "Server error: Corrupt char array." << endl;
retVal = 0;
break;
}
}
ca->Delete();
......@@ -111,12 +108,15 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(uca, 0, 44))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<uca->GetNumberOfTuples(); i++)
{
if (uca->GetValue(i) != static_cast<unsigned char>(i))
{
cerr << "Server error: Corrupt unsigned char array." << endl;
retVal = 0;
break;
}
}
uca->Delete();
......@@ -125,12 +125,15 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(fa, 0, 7))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<fa->GetNumberOfTuples(); i++)
{
if (fa->GetValue(i) != static_cast<float>(i))
{
cerr << "Server error: Corrupt float array." << endl;
retVal = 0;
break;
}
}
fa->Delete();
......@@ -139,12 +142,15 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(da, 0, 7))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<da->GetNumberOfTuples(); i++)
{
if (da->GetValue(i) != static_cast<double>(i))
{
cerr << "Server error: Corrupt double array." << endl;
retVal = 0;
break;
}
}
da->Delete();
......@@ -153,45 +159,20 @@ void Process2(vtkMultiProcessController *contr, void* vtkNotUsed(arg))
if (!comm->Receive(ita, 0, 7))
{
cerr << "Server error: Error receiving data." << endl;
retVal = 0;
}
for (i=0; i<ita->GetNumberOfTuples(); i++)
{
if (ita->GetValue(i) != static_cast<vtkIdType>(i))
{
cerr << "Server error: Corrupt vtkIdType array." << endl;
retVal = 0;
break;
}
}
ita->Delete();
vtkOutputPort* op = vtkOutputPort::New();
op->SetController(contr);
op->SetTag(45);
int extent = 20;
vtkRTAnalyticSource* id = vtkRTAnalyticSource::New();
id->SetWholeExtent (0, 2*extent, 0, 2*extent, 0, 2*extent);
id->SetCenter(extent, extent, extent);
id->SetStandardDeviation( 0.5 );
id->SetMaximum( 255.0 );
id->SetXFreq( 60 );
id->SetXMag( 10 );
id->SetYFreq( 30 );
id->SetYMag( 18 );
id->SetZFreq( 40 );
id->SetZMag( 5 );
id->GetOutput()->SetSpacing(2.0/extent,2.0/extent,2.0/extent);
vtkCallbackCommand *cbc = vtkCallbackCommand::New();
cbc->SetCallback(UpdateXFreq);
cbc->SetClientData((void *)id);
op->AddObserver(vtkCommand::EndEvent,cbc);
cbc->Delete();
op->SetInput(id->GetOutput());
op->WaitForUpdate();
id->Delete();
op->Delete();
comm->Send(&retVal, 1, 0, 11);
}
void Process1(vtkMultiProcessController *contr, void *arg)
......@@ -214,6 +195,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(ia, 1, 11))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
ia->Delete();
......@@ -227,6 +209,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(ula, 1, 22))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
ula->Delete();
......@@ -240,6 +223,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(ca, 1, 33))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
ca->Delete();
......@@ -253,6 +237,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(uca, 1, 44))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
uca->Delete();
......@@ -266,6 +251,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(fa, 1, 7))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
fa->Delete();
......@@ -280,6 +266,7 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(da, 1, 7))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
da->Delete();
......@@ -293,85 +280,29 @@ void Process1(vtkMultiProcessController *contr, void *arg)
if (!comm->Send(ita, 1, 7))
{
cerr << "Client error: Error sending data." << endl;
*(args->retVal) = 0;
}
ita->Delete();
// Test the ports
vtkInputPort* ip = vtkInputPort::New();
ip->SetController(contr);
ip->SetTag(45);
ip->SetRemoteProcessId(1);
// Get polydata
ip->GetImageDataOutput()->Update();
vtkContourFilter* cf = vtkContourFilter::New();
cf->SetInput(ip->GetImageDataOutput());
cf->SetNumberOfContours(1);
cf->SetValue(0, 220);
cf->Update();
cf->Update();
cf->Update();
cf->Update();
cf->Update();
cf->Update();
cf->Update();
vtkPolyData* pd = vtkPolyData::New();
pd->ShallowCopy(cf->GetOutput());
cf->Delete();
vtkPolyDataMapper* pmapper = vtkPolyDataMapper::New();
pmapper->SetInput(pd);
pd->Delete();
vtkActor* pactor = vtkActor::New();
pactor->SetMapper(pmapper);
pmapper->UnRegister(0);
vtkRenderer* ren = vtkRenderer::New();
ren->AddActor(pactor);
pactor->UnRegister(0);
vtkRenderWindow* renWin = vtkRenderWindow::New();
renWin->AddRenderer(ren);
ren->UnRegister(0);
vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);
iren->Initialize();
renWin->Render();
*(args->retVal) =
vtkRegressionTester::Test(args->argc, args->argv, renWin, 10);
if ( *(args->retVal) == vtkRegressionTester::DO_INTERACTOR)
int remoteRetVal;
comm->Receive(&remoteRetVal, 1, 1, 11);
if (!remoteRetVal)
{
iren->Start();
*(args->retVal) = 0;
}
iren->Delete();
contr->TriggerRMI(1, vtkMultiProcessController::BREAK_RMI_TAG);
ip->Delete();
renWin->Delete();
}
int main(int argc, char** argv)
{
#ifdef VTK_USE_MPI