X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvLandmarks.cxx;h=682398f49deca17954a5dc95ed25a8364a17c699;hb=66d644a09be8cbd79cbda488e22337bf60d65303;hp=d44c3be86f13e904e53e09429d2d00eb7e9c4372;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/vv/vvLandmarks.cxx b/vv/vvLandmarks.cxx index d44c3be..682398f 100644 --- a/vv/vvLandmarks.cxx +++ b/vv/vvLandmarks.cxx @@ -104,6 +104,25 @@ void vvLandmarks::RemoveLastLandmark() //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +void vvLandmarks::RemoveLandmark(int index) +{ + // erase a vtkPoint by shifiting the array . + // not a problem here because there are no + // pologyons linking the points + int npoints = mPoints[mLandmarks[index].coordinates[3]]->GetNumberOfPoints(); + int t = mLandmarks[index].coordinates[3]; + for (int i = index; i < npoints - 1; i++) + mPoints[t]->InsertPoint(i, mPoints[t]->GetPoint(i+1)); + mPoints[t]->SetNumberOfPoints(npoints-1); + mPolyData->Modified(); + + mLandmarks.erase(mLandmarks.begin() + index); + mIds->RemoveLastTuple(); +} +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- void vvLandmarks::ChangeComments(int index, std::string comments) {