[vtkusers] What is the order of calling delete methods on a pipeline?
Peter F Bradshaw
pfb at exadios.com
Sun May 8 21:46:42 EDT 2011
Hi Chasan;
If you wish to release the pipeline below why not encase it in its own
scope? If you are using vtkSmartPointer, which you are, then the
pipeline will be destroyed when it goes out of scope.
On Sat, 7 May 2011, Chasan KIOUTSOUKMOUSTAFA wrote:
> I have a volume rendering pipeline and I want to release all the memory
> resources of pipeline on runtime .
> How can I release memory resources of the pipeline safely?
> It seems the iren is the end of pipeline, if I call the iren->Delete(), will
> it delete recursively all of the pipeline?
> What is the solution ? Pipeline is below. Thanks for answers!!
>
> renderer = vtkSmartPointer < vtkRenderer > :: New();
> renderWindow = vtkSmartPointer < vtkWin32OpenGLRenderWindow > :: New();
> renderWindow->AddRenderer(renderer);
> renderWindow->SetSize(width, height);
>
> iren = vtkSmartPointer < vtkWin32RenderWindowInteractor > :: New();
> iren->SetRenderWindow(renderWindow);
>
> volumeMapper = vtkSmartPointer<vtkFixedPointVolumeRayCastMapper>::New();
> volumeMapper->SetInputConnection(reader->GetOutputPort());
> volumeMapper->SetBlendModeToComposite();
>
> volumeColor = vtkSmartPointer<vtkColorTransferFunction>::New();
> volumeColor->AddRGBPoint(0, 0.0, 0.0, 0.0);
> volumeColor->AddRGBPoint(500, 1.0, 0.5, 0.3);
> volumeColor->AddRGBPoint(1000, 1.0, 0.5, 0.3);
> volumeColor->AddRGBPoint(1150, 1.0, 1.0, 0.9);
>
> volumeScalarOpacity = vtkSmartPointer<vtkPiecewiseFunction>::New();
> volumeScalarOpacity->AddPoint(0, 0.00);
> volumeScalarOpacity->AddPoint(500, 0.15);
> volumeScalarOpacity->AddPoint(1000, 0.15);
> volumeScalarOpacity->AddPoint(1150, 0.90);
>
> volumeGradientOpacity = vtkSmartPointer<vtkPiecewiseFunction>::New();
> volumeGradientOpacity->AddPoint(0, 0.0);
> volumeGradientOpacity->AddPoint(90, 0.5);
> volumeGradientOpacity->AddPoint(100, 1.0);
>
> volumeProperty = vtkSmartPointer<vtkVolumeProperty>::New();
> volumeProperty->SetColor(volumeColor);
> volumeProperty->SetScalarOpacity(volumeScalarOpacity);
> volumeProperty->SetGradientOpacity(volumeGradientOpacity);
> volumeProperty->SetInterpolationTypeToLinear();
> volumeProperty->ShadeOff();
> volumeProperty->SetAmbient(0.4);
> volumeProperty->SetDiffuse(0.6);
> volumeProperty->SetSpecular(0.2);
>
> LODProperty = vtkSmartPointer <vtkLODProp3D>::New();
> int id = LODProperty->AddLOD(volumeMapper, volumeProperty, 0.0);
> LODProperty->SetLODLevel(id, 0.0);
>
> renderer->AddViewProp(LODProperty);
> renderer->ResetCamera();
> renderer->Render();
>
> iren->Initialize();
>
Cheers
--
Peter F Bradshaw: http://www.exadios.com (public keys avaliable there).
Personal site: http://personal.exadios.com
"I love truth, and the way the government still uses it occasionally to
keep us guessing." - Sam Kekovich.
More information about the vtkusers
mailing list