1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
#include "vtkActor.h"
#include "vtkDataSetSurfaceFilter.h"
#include "vtkDummyController.h"
#include "vtkCompositePolyDataMapper2.h"
#include "vtkPVGeometryFilter.h"
#include "vtkPVAMRDualClip.h"
#include "vtkRegressionTestImage.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkSmartPointer.h"
#include "vtkSpyPlotReader.h"
#include "vtkTestUtilities.h"
int main(int argc, char* argv[])
{
int retVal = 0;
typedef vtkSmartPointer<vtkDataSetSurfaceFilter> vtkDataSetSurfaceFilterRefPtr;
typedef vtkSmartPointer<vtkPVAMRDualClip> vtkPVAMRDualClipRefPtr;
typedef vtkSmartPointer<vtkSpyPlotReader> vtkSpyPlotReaderRefPtr;
typedef vtkSmartPointer<vtkCompositePolyDataMapper2> vtkPolyDataMapperRefPtr;
typedef vtkSmartPointer<vtkActor> vtkActorRefPtr;
typedef vtkSmartPointer<vtkRenderer> vtkRenderRefPtr;
typedef vtkSmartPointer<vtkRenderWindow> vtkRenderWindowRefPtr;
typedef vtkSmartPointer<vtkDummyController> vtkDummyControllerRefPtr;
typedef vtkSmartPointer<vtkPVGeometryFilter> vtkPVGeometryFilterRefPtr;
typedef vtkSmartPointer<vtkRenderWindowInteractor> vtkRenderWindowInteractorRefPtr;
const char* fname =
vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/SPCTH/Dave_Karelitz_Small/spcth.0");
if(!fname)
{
return retVal;
}
vtkDummyControllerRefPtr controller (vtkDummyControllerRefPtr::New());
vtkMultiProcessController::SetGlobalController(controller);
vtkSpyPlotReaderRefPtr reader = vtkSpyPlotReaderRefPtr::New();
reader->SetFileName(fname);
reader->SetGlobalController(controller);
reader->MergeXYZComponentsOn();
reader->DownConvertVolumeFractionOn();
reader->DistributeFilesOn();
reader->SetCellArrayStatus("Material volume fraction - 3", 1);
reader->Update();
vtkPVAMRDualClipRefPtr filter = vtkPVAMRDualClipRefPtr::New();
filter->SetInputConnection(reader->GetOutputPort(0));
// filter->SetInput(reader->GetOutputDataObject(0));
filter->SetVolumeFractionSurfaceValue(0.1);
filter->SetEnableMergePoints(1);
filter->SetEnableDegenerateCells(1);
filter->SetEnableMultiProcessCommunication(1);
filter->AddInputCellArrayToProcess("Material volume fraction - 3");
// filter->Update();
vtkPVGeometryFilterRefPtr surface (vtkPVGeometryFilterRefPtr::New());
surface->SetUseOutline(0);
surface->SetInputConnection(filter->GetOutputPort(0));
// surface->SetInput(filter->GetOutputDataObject(0));
// surface->Update();
vtkPolyDataMapperRefPtr mapper (vtkPolyDataMapperRefPtr::New());
mapper->SetInputConnection(surface->GetOutputPort());
// mapper->Update();
vtkActorRefPtr actor (vtkActorRefPtr::New());
actor->SetMapper(mapper);
vtkRenderRefPtr renderer (vtkRenderRefPtr::New());
renderer->AddActor(actor);
renderer->ResetCamera();
vtkRenderWindowRefPtr renWin (vtkRenderWindowRefPtr::New());
renWin->AddRenderer(renderer);
vtkRenderWindowInteractorRefPtr iren (vtkRenderWindowInteractorRefPtr::New());
iren->SetRenderWindow(renWin);
retVal = vtkRegressionTestImage(renWin);
if(retVal == vtkRegressionTester::DO_INTERACTOR)
{
iren->Start();
retVal = vtkRegressionTester::PASSED;
}
return (retVal == vtkRegressionTester::PASSED) ? 0 : 1;
}
|