[vtkusers] problem with DeletePoint
Petru Pau
ppau at risc.uni-linz.ac.at
Tue Jun 8 10:56:33 EDT 2004
In order to extract the visible geometry of an object,
there are two possibilities:
- either to start from the visible points and add cells that are visible;
- or scan the points and remove cells that are not visible.
I tried the second approach, and wrote a function that should remove
a point and all incident cells:
- get all cells incident to the point;
- for each cell in the above set
- - remove the cell
- remove the point.
void removePoint(int pointIndex, vtkPolyData p)
{
vtkIdList adjacentCells = vtkIdList.New();
p.GetPointCells(pointIndex, adjacentCells);
int nrPoints = p.GetNumberOfPoints();
int nrAdjCells = adjacentCells.GetNumberOfIds();
for (int i=0; i<nrAdjCells; i++)
{
int cellId = adjacentCells.GetId(i);
p.RemoveReferenceToCell(pointIndex, cellId);
p.RemoveCellReference(cellId);
p.DeleteCell(cellId);
}
p.DeletePoint(pointIndex);
nrPoints = p.GetNumberOfPoints();
}
This function does _not_ work To give an idea, I added the variable
nrPoints.
In the examples that I tried, after the last line, the value of nrPoints
does not
change - the poly data has the same number of points as before.
In the documentation, DeletePoint _marks_ the point as deleted. What would
that mean?... How can I really remove the point and its adjacent cells?
Petru
More information about the vtkusers
mailing list