@@ -122,6 +122,8 @@ class InsertionAlgorithm : public BaseAlgorithm
122122 auto & collisionOutput = *d_collisionOutput.beginEdit ();
123123 auto & insertionOutput = *d_insertionOutput.beginEdit ();
124124
125+ insertionOutput.clear ();
126+
125127 if (m_couplingPts.empty ())
126128 {
127129 const MechStateTipType::SPtr mstate = l_tipGeom->getContext ()->get <MechStateTipType>();
@@ -145,8 +147,8 @@ class InsertionAlgorithm : public BaseAlgorithm
145147 const BaseProximity::SPtr shaftProx = findClosestProxOnShaft (
146148 dpair.second , l_shaftGeom.get (), projectOnShaft, getFilterFunc ());
147149 m_needlePts.push_back (shaftProx);
148- m_couplingPts.push_back (dpair.second -> copy () );
149- insertionOutput.add (shaftProx, dpair.second -> copy () );
150+ m_couplingPts.push_back (dpair.second );
151+ insertionOutput.add (shaftProx, dpair.second );
150152 }
151153 collisionOutput.clear ();
152154 return ;
@@ -155,17 +157,16 @@ class InsertionAlgorithm : public BaseAlgorithm
155157
156158 collisionOutput.clear ();
157159
158- ElementIterator::SPtr itTip = l_tipGeom->begin ();
159160 auto createTipProximity =
160- Operations::CreateCenterProximity::Operation::get (itTip ->getTypeInfo ());
161+ Operations::CreateCenterProximity::Operation::get (l_tipGeom ->getTypeInfo ());
161162 auto findClosestProxOnSurf =
162163 Operations::FindClosestProximity::Operation::get (l_surfGeom);
163164 auto projectOnSurf = Operations::Project::Operation::get (l_surfGeom);
164165 auto projectOnTip = Operations::Project::Operation::get (l_tipGeom);
165166
166- for (; itTip != l_tipGeom-> end (); itTip++ )
167+ for (const auto & itTip : * l_tipGeom)
167168 {
168- BaseProximity::SPtr tipProx = createTipProximity (itTip-> element ());
169+ BaseProximity::SPtr tipProx = createTipProximity (itTip. element ());
169170 if (!tipProx) continue ;
170171 const BaseProximity::SPtr surfProx = findClosestProxOnSurf (
171172 tipProx, l_surfGeom.get (), projectOnSurf, getFilterFunc ());
@@ -174,22 +175,16 @@ class InsertionAlgorithm : public BaseAlgorithm
174175 surfProx->normalize ();
175176 if (d_projective.getValue ())
176177 {
177- tipProx = projectOnTip (surfProx->getPosition (), itTip-> element ()).prox ;
178+ tipProx = projectOnTip (surfProx->getPosition (), itTip. element ()).prox ;
178179 if (!tipProx) continue ;
179180 tipProx->normalize ();
180-
181- collisionOutput.add (tipProx, surfProx);
182- }
183- else
184- {
185- collisionOutput.add (tipProx, surfProx);
186181 }
182+ collisionOutput.add (tipProx, surfProx);
187183 }
188184 }
189185 }
190186 else
191187 {
192- insertionOutput.clear ();
193188
194189 ElementIterator::SPtr itTip = l_tipGeom->begin ();
195190 auto createTipProximity =
0 commit comments