Skip to content

Commit e791cbe

Browse files
committed
merge
2 parents e58d83d + a9f525f commit e791cbe

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/ompl/base/Constraint.h

+13-4
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,28 @@ namespace ompl
244244
class ConstraintIntersection : public Constraint
245245
{
246246
public:
247+
/** \brief Constructor. If constraints is empty assume it will be
248+
* filled later. */
249+
ConstraintIntersection(const unsigned int ambientDim, std::vector<ConstraintPtr> constraints)
250+
: Constraint(ambientDim, 0)
251+
{
252+
for (const auto &constraint : constraints)
253+
addConstraint(constraint);
254+
}
255+
247256
/** \brief Constructor. If constraints is empty assume it will be
248257
* filled later. */
249258
ConstraintIntersection(const unsigned int ambientDim, std::initializer_list<ConstraintPtr> constraints)
250259
: Constraint(ambientDim, 0)
251260
{
252-
for (auto constraint : constraints)
261+
for (const auto &constraint : constraints)
253262
addConstraint(constraint);
254263
}
255264

256265
void function(const Eigen::Ref<const Eigen::VectorXd> &x, Eigen::Ref<Eigen::VectorXd> out) const override
257266
{
258267
unsigned int i = 0;
259-
for (auto constraint : constraints_)
268+
for (const auto &constraint : constraints_)
260269
{
261270
constraint->function(x, out.segment(i, constraint->getCoDimension()));
262271
i += constraint->getCoDimension();
@@ -266,15 +275,15 @@ namespace ompl
266275
void jacobian(const Eigen::Ref<const Eigen::VectorXd> &x, Eigen::Ref<Eigen::MatrixXd> out) const override
267276
{
268277
unsigned int i = 0;
269-
for (auto constraint : constraints_)
278+
for (const auto &constraint : constraints_)
270279
{
271280
constraint->jacobian(x, out.block(i, 0, constraint->getCoDimension(), n_));
272281
i += constraint->getCoDimension();
273282
}
274283
}
275284

276285
protected:
277-
void addConstraint(ConstraintPtr constraint)
286+
void addConstraint(const ConstraintPtr &constraint)
278287
{
279288
setManifoldDimension(k_ - constraint->getCoDimension());
280289
constraints_.push_back(constraint);

0 commit comments

Comments
 (0)