From: Matthew Fernandez Date: Sat, 22 May 2021 04:06:57 +0000 (-0700) Subject: take a vector in generateYConstraints instead of a size and C pointer X-Git-Tag: 2.47.3~25^2~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c4c98b50eb62a7a56a0435728f34a5205393a3fa;p=graphviz take a vector in generateYConstraints instead of a size and C pointer Like the previous commit, this is a step towards removing some manual memory management. --- diff --git a/lib/vpsc/csolve_VPSC.cpp b/lib/vpsc/csolve_VPSC.cpp index 83d0fffdd..e74d07d45 100644 --- a/lib/vpsc/csolve_VPSC.cpp +++ b/lib/vpsc/csolve_VPSC.cpp @@ -54,7 +54,7 @@ int genYConstraints(int n, boxf* bb, Variable** vs, Constraint*** cs) { for(int i=0;i &rs, Variable** vars, /** * Prepares constraints in order to apply VPSC vertically to remove ALL overlap. */ -int generateYConstraints(const int n, Rectangle** rs, Variable** vars, Constraint** &cs) { +int generateYConstraints(vector &rs, Variable** vars, + Constraint** &cs) { + vector events; - events.reserve(2 * n); - for(int i=0;idesiredPosition=rs[i]->getCentreY(); Node *v = new Node(vars[i],rs[i],rs[i]->getCentreY()); events.emplace_back(Open,v,rs[i]->getMinX()); diff --git a/lib/vpsc/generate-constraints.h b/lib/vpsc/generate-constraints.h index 68f15a09b..abd228e46 100644 --- a/lib/vpsc/generate-constraints.h +++ b/lib/vpsc/generate-constraints.h @@ -79,4 +79,5 @@ struct Constraint; // returns number of constraints generated int generateXConstraints(std::vector &rs, Variable** vars, Constraint** &cs, const bool useNeighbourLists); -int generateYConstraints(const int n, Rectangle** rs, Variable** vars, Constraint** &cs); +int generateYConstraints(std::vector &rs, Variable** vars, + Constraint** &cs);