vtkNew and vtkSmartPointer

I use a mix of both forms, for different purposes.
For “normal” use, managing a pointer:

auto mapper = vtkSmartPointer<vtkPolyDataMapper>::New();

But also use without a managing pointer:

vtkSmartPointer<vtkRenderer> renderer;

...
if (some_condition)
{
    renderer = vtkSmartPointer<vtkRenderer>::New();
    syncRenderers->SetRenderer(renderer);
}

This allows some processes to have a VTK renderer. The ones without have a null pointer, but in all cases I don’t have to fiddle with a Delete anywhere, since the vtkSmartPointer takes care of that for me.

/mark