コード例 #1
0
ファイル: TrfmTranslate.cpp プロジェクト: Tarrasch/dart
 void TrfmTranslate::applyDeriv(const Dof* q, Matrix4d& m){
     for(unsigned int i=0; i<mDofs.size(); i++){
         if(mDofs[i] != q) m.row(i).setZero();
         else m.row(i) = m.row(3);
     }
     m.row(3).setZero();
 }
コード例 #2
0
ファイル: TrfmTranslate.cpp プロジェクト: Tarrasch/dart
 void TrfmTranslateZ::applyDeriv(const Dof* q, Matrix4d& m){
     if(mDofs[0] != q) m = Matrix4d::Zero();
     else for(int i=0; i<4; i++){
             if(i==A_Z) m.row(i) = m.row(3);
             else m.row(i).setZero();
         }
 }
コード例 #3
0
ファイル: sim3.cpp プロジェクト: EI2012zyq/OpenMVO
Matrix4d Sim3::
hat(const Vector7d & v)
{
  Matrix4d Omega;
  Omega.topLeftCorner<3,3>() = ScSO3::hat(v.tail<4>());
  Omega.col(3).head<3>() = v.head<3>();
  Omega.row(3) = Vector4d(0., 0., 0., 0.);
  return Omega;
}
コード例 #4
0
ファイル: TrfmTranslate.cpp プロジェクト: Tarrasch/dart
 void TrfmTranslateZ::applyInvTransform(Matrix4d& m){
     m.row(A_Z) -= mDofs[0]->getValue() * m.row(3);
 }
コード例 #5
0
ファイル: TrfmTranslate.cpp プロジェクト: Tarrasch/dart
 void TrfmTranslateY::applyTransform(Matrix4d& m){
     m.row(A_Y) += mDofs[0]->getValue() * m.row(3);
 }
コード例 #6
0
ファイル: TrfmTranslate.cpp プロジェクト: Tarrasch/dart
 void TrfmTranslate::applyInvTransform(Matrix4d& m){
     for(unsigned int i=0; i<mDofs.size(); i++) {
         m.row(i) -= mDofs[i]->getValue() * m.row(3);
     }
 }