VTK
|
Allocate and hold a VTK object. More...
#include <vtkNew.h>
Public Member Functions | |
vtkNew () | |
~vtkNew () | |
T * | operator-> () const |
T * | GetPointer () const |
T * | Get () const |
Allocate and hold a VTK object.
vtkNew is a class template that on construction allocates and initializes an instance of its template argument using T::New(). It assumes ownership of one reference during its lifetime, and calls T->Delete() on destruction.
Automatic casting is intentionally unavailable, calling GetPointer() will return a raw pointer. Users of this method should ensure that they do not return this pointer if the vtkNew will go out of scope without incrementing its reference count using vtkSmartPointer or similar.
vtkNew<vtkClass> a; a->SomeMethod(); vtkSmartPointer<vtkClass> b = a.GetPointer(); b->SomeOtherMethod();
It should be noted that vtkNew is not a drop in replacement for vtkSmartPointer as it is not implicitly cast to a pointer in functions requiring a pointer. The GetPointer() method must be used, for example,
vtkNew<vtkRenderer> ren; vtkNew<vtkRenderWindow> renWin; renWin->AddRenderer(ren.GetPointer()); vtkNew<vtkRenderWindowInteractor> iren; iren->SetRenderWindow(renWin.GetPointer());
T* vtkNew< T >::operator-> | ( | ) | const [inline] |
T* vtkNew< T >::GetPointer | ( | ) | const [inline] |