void Convex::DelVertexDoubles(PointList *PL) { PointList PP; Point P, L; Segment S; SegmentList SN; if ( PL->GetFirst(&P) ) { do { PP.Add(P); } while (PL->GetNext(&P)); }; if ( PL->GetFirst(&L) ) { do { if ( PP.GetFirst(&P) ) { do { S.Init(P, L); SN.Add(S); } while (PP.GetNext(&P)); }; } while (PL->GetNext(&L)); }; if ( PL->GetFirst(&P) ) { do { if ( SN.GetFirst(&S) ) { do { if (S.Into(P)) PL->FindAndRemoveAll(P); } while (SN.GetNext(&S)); }; } while (PL->GetNext(&P)); }; }