use vtkSmartPointer to resolve memory leak problem