mBinaryImage = vtkSmartPointer<vtkImageData>::New();
#if VTK_MAJOR_VERSION <= 5
mBinaryImage->SetScalarTypeToUnsignedChar();
+#endif
mBinaryImage->SetOrigin(&origin[0]);
mBinaryImage->SetSpacing(&mSpacing[0]);
mBinaryImage->SetExtent(0, extend[0],
0, extend[1],
0, extend[2]);
+#if VTK_MAJOR_VERSION <= 5
mBinaryImage->AllocateScalars();
#else
- mBinaryImage->SetOrigin(&origin[0]);
- mBinaryImage->SetSpacing(&mSpacing[0]);
- mBinaryImage->SetExtent(0, extend[0],
- 0, extend[1],
- 0, extend[2]);
mBinaryImage->AllocateScalars(VTK_UNSIGNED_CHAR, 1);
#endif
vtkSmartPointer<vtkLinearExtrusionFilter> extrude=vtkSmartPointer<vtkLinearExtrusionFilter>::New();
#if VTK_MAJOR_VERSION <= 5
extrude->SetInput(mesh);
+ ///We extrude in the -slice_spacing direction to respect the FOCAL convention (NEEDED !)
+ extrude->SetVector(0, 0, -0.5*mSpacing[2]);
#else
extrude->SetInputData(mesh);
-#endif
///We extrude in the -slice_spacing direction to respect the FOCAL convention (NEEDED !)
- extrude->SetVector(0, 0, -mSpacing[2]);
+ extrude->SetVector(0, 0, 0.5*mSpacing[2]);
+#endif
// Binarization
vtkSmartPointer<vtkPolyDataToImageStencil> sts=vtkSmartPointer<vtkPolyDataToImageStencil>::New();
#if VTK_MAJOR_VERSION <= 5
sts->SetInput(extrude->GetOutput());
#else
- sts->SetInputData(extrude->GetOutput());
+ sts->SetInputConnection(extrude->GetOutputPort(0));
#endif
//sts->SetInput(mesh);
#if VTK_MAJOR_VERSION <= 5
stencil->SetStencil(sts->GetOutput());
#else
- stencil->SetStencilData(sts->GetOutput());
+ stencil->SetStencilConnection(sts->GetOutputPort(0));
#endif
#if VTK_MAJOR_VERSION <= 5
stencil->SetInput(mBinaryImage);