Thanks Jinzhong.<br><br>Do you know of any way to have a pointer to these cells so that I can access them after a call to RemoveDeleteCells(), instead of remembering them by their indices, since they get rearranged.<br><br>
-Will<br><br><div class="gmail_quote">On Thu, Aug 13, 2009 at 7:33 AM, Yang, Jinzhong <span dir="ltr">&lt;<a href="mailto:jinzhong76@gmail.com">jinzhong76@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">









<div link="blue" vlink="purple" lang="EN-US">

<div>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">The cells in vtkPolyData is stored as an array of int. Once you
call RemoveDeleteCells(), the array will be rearranged and compacted to release
unused memory. If you want to keep the original indices, the easiest way is  not
to call RemoveDeleteCells() and just mark those cells as deleted.</span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">-Jinzhong</span></p>

<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>

<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">

<p><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;">
<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a> [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>] <b>On Behalf Of </b>da
xu<br>
<b>Sent:</b> Wednesday, August 12, 2009 8:04 PM<br>
<b>To:</b> <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b>Subject:</b> [vtkusers] vtkPolyData RemoveDeletedCells() reorders vtkIdType
cellid, so my indexes to them are no longer correct.</span></p>

</div><div><div></div><div class="h5">

<p> </p>

<p style="margin-bottom: 12pt;">Hi all,<br>
I have some cells in a vtkPolyData where I also have a std::list of their index
in my program. Sometimes, I want to delete some of these cells, but when I call
RemoveDeletedCells the cells in my vtkPolyData get re-ordered, so my std::list
index to them are no longer correct. <br>
<br>
My question is there another way to keep track of which cell is which cell if I
do call RemoveDeletedCells and get rid of some of them? Such as a pointer to
each cell within my vtkPolyData...<br>
<br>
Relevant code below:<br>
<br>
pointArray is of vtkPoints<br>
cellArray is of vtkCellArray<br>
<br>
I keep a list of actorIndex to refer to each cell. (each cell is basically just
the point i want to display on the render window). So when I delete actorIndex
10, the old actorIndex 11 becomes 10, and when I try to delete 11 I get an
error....<br>
<br>
AddPoint(double pt[3]) {<br>
<br>
    int actorIndex = pointArray-&gt;InsertNextPoint(pt);<br>
    polyData-&gt;SetPoints(pointArray);<br>
<br>
    int n = pointArray-&gt;GetNumberOfPoints() - 1; // Subtract
one for the correct array index<br>
    cellArray-&gt;InsertNextCell(1, &amp;n);<br>
<br>
    polyData-&gt;SetVerts(cellArray);<br>
    if (n==0) {<br>
        polyMapper-&gt;SetInput(polyData);<br>
        actor-&gt;SetMapper(polyMapper);<br>
       
actor-&gt;GetProperty()-&gt;SetRepresentationToPoints();<br>
        renderer-&gt;AddActor(actor);<br>
    }<br>
    polyData-&gt;Modified();<br>
...<br>
<br>
Any help/clue/pointer is appreciated! <br>
<br>
-Will</p>

</div></div></div>

</div>


</blockquote></div><br>