diff --git a/src/graph/edge.cc b/src/graph/edge.cc index 412e82fa7df1c90de75dba8222c73b1e29966e29..f7adef5ffd7c5f30e6dc8bbbf45fa64b50166123 100644 --- a/src/graph/edge.cc +++ b/src/graph/edge.cc @@ -165,8 +165,10 @@ namespace hpp { void Edge::initialize () { - targetConstraints_ = buildTargetConstraint (); - pathConstraints_ = buildPathConstraint (); + if (!isInit_) { + targetConstraints_ = buildTargetConstraint (); + pathConstraints_ = buildPathConstraint (); + } isInit_ = true; } @@ -769,8 +771,10 @@ namespace hpp { void LevelSetEdge::initialize () { - Edge::initialize(); - buildHistogram (); + if (!isInit_) { + Edge::initialize(); + buildHistogram (); + } } ConstraintSetPtr_t LevelSetEdge::buildConfigConstraint()