With a subsequence p-q-p we do not simplify q

This commit is contained in:
Andreas Fabri 2021-02-01 12:36:34 +00:00
parent 105b93b35a
commit 7a91d9f1a5
2 changed files with 9 additions and 3 deletions

View File

@ -27,7 +27,7 @@ int main()
{
CT ct;
std::vector<Point> P = { Point(0,1), Point(1,1), Point(2,2), Point(3,1), Point(4,1), Point(5,1) };
std::vector<Point> P = { Point(0,1), Point(1,1), Point(2,2), Point(3,1), Point(4,1), Point(4,2), Point(4,1), Point(5,1) };
std::vector<Point> Q = { Point(5,0), Point(4,1), Point(3,1), Point(2,2), Point(1,1), Point(0,0) };
std::vector<Point> R = { Point(3,1), Point(4,1) };

View File

@ -155,9 +155,15 @@ public:
Constraint_iterator cit = pct.constraints_begin(), e = pct.constraints_end();
for(; cit!=e; ++cit){
Constraint_id cid = *cit;
Vertices_in_constraint_iterator it = pct.vertices_in_constraint_begin(cid);
Vertices_in_constraint_iterator it = pct.vertices_in_constraint_begin(cid),
ite = pct.vertices_in_constraint_end(cid);
(*it)->set_removable(false);
it = pct.vertices_in_constraint_end(cid);
++it;
for(; it != ite; ++it){
if((boost::next(it) != ite) && (boost::prior(it)== boost::next(it))){
(*it)->set_removable(false);
}
}
it = boost::prior(it);
(*it)->set_removable(false);
}