<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font size="4">Hi everyone:<br>     I have got a problem when i try to remove a vtkActor and free the memery.As you can see, I add some actors to the render and I removed them and 
delete them,but the memery does not free.But when i delete   &quot;<u style="background-color:rgb(255,0,0)">this-&gt;m_render-&gt;AddActor(actor);</u>&quot;  the problem was gone! Does anyone know how can I fix it?<br>
    Here is the code:<br>-----------------------------------------------------------------------------<br>    m_render = vtkRenderer::New();<br>    vtkRenderWindow *renWin = vtkRenderWindow::New();<br>    renWin-&gt;StereoCapableWindowOn();<br>

     ui-&gt;qvtkWidget-&gt;SetRenderWindow(renWin);<br>    renWin-&gt;AddRenderer(m_render);<br>    m_render-&gt;SetBackground(0.1, 0.2, 0.4);<br>    renWin-&gt;Render();<br><br>    connect(this-&gt;ui-&gt;pushButton,SIGNAL(clicked()),this,SLOT(release()));<br>

    QString folder = QFileDialog::getExistingDirectory();<br>    QDir dir(folder);<br>    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);<br><br>    foreach(QFileInfo info,dir.entryInfoList())<br>    {<br>        QString fileName = info.absoluteFilePath();<br>

        char *name = fileName.toUtf8().data();<br>        std::ifstream ifs;<br>        if ( !liblas::Open(ifs, name))<br>        {<br>            return;<br>        }<br><br>        vtkPoints *points = vtkPoints::New();<br>

        liblas::Reader reader(ifs);<br><br>        while( reader.ReadNextPoint() )<br>        {<br>            liblas::Point  point = reader.GetPoint();<br>            points-&gt;InsertNextPoint(point.GetX(),point.GetY(),point.GetZ());<br>

        }<br>        ifs.close();<br>        vtkCellArray *cell = vtkCellArray::New();<br>        int num = points-&gt;GetNumberOfPoints();<br>        cell-&gt;InsertNextCell(num);<br>        for(int i = 0; i&lt; num; i++)<br>

        {<br>            cell-&gt;InsertCellPoint(i);<br>        }<br><br>        vtkPolyData *polyData = vtkPolyData::New();<br>        polyData-&gt;SetPoints(points);<br>        polyData-&gt;SetVerts(cell);<br><br>        vtkPolyDataMapper* mapper = vtkPolyDataMapper::New();                      <br>

        mapper-&gt;SetInput(polyData);<br>        vtkActor *actor = vtkActor::New();        <br>        actor-&gt;SetMapper(mapper);<br>        this-&gt;m_actors.insert(fileName,actor);<br><span style="color:rgb(255,0,0)">       </span><u style="color:rgb(255,0,0)"> this-&gt;m_render-&gt;AddActor(actor);</u><span style="color:rgb(255,0,0)">// when i delete this ,the memery can be free,Why?</span><br>

<br>        mapper-&gt;Delete();<br>        polyData-&gt;Delete();<br>        cell-&gt;Delete();<br>        points-&gt;Delete();                                                  <br>        renWin-&gt;Render();<br>    }<br>

    foreach(QString file,this-&gt;m_actors.keys())<br>    {<br>        vtkActor *actor = this-&gt;m_actors[file];<br>        this-&gt;m_actors.remove(file);<br>        actor-&gt;Delete();<br>        actor=NULL;<br>    }<br>

    ---------------------------------------------------------------------------<br>    Thank you!<br></font>
</blockquote></div><br>