From 7f0b2d532de85dda05fc4ba88eeb3c9d688d6f2b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 20 Apr 2025 20:07:47 +0200 Subject: [PATCH] Bugfixes --- src/db/db/dbPLC.cc | 1 + src/pex/pex/pexSquareCountingRExtractor.cc | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/db/db/dbPLC.cc b/src/db/db/dbPLC.cc index 7a8be1455..7fbb26b44 100644 --- a/src/db/db/dbPLC.cc +++ b/src/db/db/dbPLC.cc @@ -443,6 +443,7 @@ Polygon::init () if (area > db::epsilon) { std::reverse (mp_v.begin (), mp_v.end ()); std::reverse (mp_e.begin (), mp_e.end ()); + std::rotate (mp_e.begin (), ++mp_e.begin (), mp_e.end ()); } // link the polygon to the edges diff --git a/src/pex/pex/pexSquareCountingRExtractor.cc b/src/pex/pex/pexSquareCountingRExtractor.cc index 5477abdb0..de6400491 100644 --- a/src/pex/pex/pexSquareCountingRExtractor.cc +++ b/src/pex/pex/pexSquareCountingRExtractor.cc @@ -264,8 +264,9 @@ SquareCountingRExtractor::extract (const db::Polygon &polygon, const std::vector // 2. vertex ports for (size_t i = 0; i < plc_poly->internal_vertexes (); ++i) { - db::Point loc = inv_trans * *plc_poly->internal_vertex (i); - ports.push_back (std::make_pair (PortDefinition (pex::RNode::VertexPort, loc, i), (pex::RNode *) 0)); + auto v = plc_poly->internal_vertex (i); + db::Point loc = inv_trans * *v; + ports.push_back (std::make_pair (PortDefinition (pex::RNode::VertexPort, loc, v->id ()), (pex::RNode *) 0)); } // 3. polygon ports