bmesh: maintain active face when dissolving.
[blender.git] / intern / itasc / ConstraintSet.cpp
index 3b50e3537586c624d681b1c388e9fded1be1f781..e21cd36e4c8bae165bb4ef195ed0158fe6118ebf 100644 (file)
@@ -1,7 +1,7 @@
 /** \file itasc/ConstraintSet.cpp
  *  \ingroup itasc
  */
-/* $Id$
+/*
  * ConstraintSet.cpp
  *
  *  Created on: Jan 5, 2009
@@ -80,7 +80,7 @@ void ConstraintSet::modelUpdate(Frame& _external_pose,const Timestamp& timestamp
 
 double ConstraintSet::getMaxTimestep(double& timestep)
 {
-       e_scalar maxChidot = m_chidot.cwise().abs().maxCoeff();
+       e_scalar maxChidot = m_chidot.array().abs().maxCoeff();
        if (timestep*maxChidot > m_maxDeltaChi) {
                timestep = m_maxDeltaChi/maxChidot;
        }
@@ -134,6 +134,7 @@ bool ConstraintSet::setControlParameter(int id, ConstraintAction action, double
                break;
        default:
                assert(action==ACT_NONE);
+               break;
        }
        return setControlParameters(&values, 1, timestep);
 }
@@ -161,9 +162,9 @@ bool ConstraintSet::closeLoop(){
         }else
             m_B.row(i) = m_U.col(i)/m_S(i);
 
-    m_Jf_inv=(m_V*m_B).lazy();
+    m_Jf_inv.noalias()=m_V*m_B;
 
-    m_chi+=(m_Jf_inv*m_tdelta).lazy();
+    m_chi.noalias()+=m_Jf_inv*m_tdelta;
     updateJacobian();
        // m_externalPose-m_internalPose in end effector frame
        // this is just to compare the pose, a different formula would work too