https://github.com/sueda/eol-cloth
Revision 28fad2e07ec31f0dfd2c681878904e707f6715d5 authored by Shinjiro Sueda on 11 September 2018, 15:17:28 UTC, committed by GitHub on 11 September 2018, 15:17:28 UTC
1 parent 3c3ef84
Tip revision: 28fad2e07ec31f0dfd2c681878904e707f6715d5 authored by Shinjiro Sueda on 11 September 2018, 15:17:28 UTC
Create LICENSE
Create LICENSE
Tip revision: 28fad2e
Rigid.h
#pragma once
#ifndef _RIGID_H_
#define _RIGID_H_
#define EIGEN_DONT_ALIGN_STATICALLY
#include <Eigen/Dense>
#include <Eigen/Sparse>
typedef Eigen::Matrix<double, 6, 1> Vector6d;
typedef Eigen::Matrix<double, 6, 6> Matrix6d;
typedef Eigen::Matrix<double, 3, 6> Matrix3x6d;
typedef Eigen::Matrix<double, 6, 3> Matrix6x3d;
class Rigid
{
private:
Rigid();
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
static Eigen::Matrix4d inverse(const Eigen::Matrix4d &E);
static Matrix3x6d gamma(const Eigen::Vector3d &r);
static Matrix6d adjoint(const Eigen::Matrix4d &E);
static Eigen::Matrix3d bracket3(const Eigen::Vector3d &a);
static Eigen::Matrix4d bracket6(const Vector6d &a);
static Eigen::Vector3d unbracket3(const Eigen::Matrix3d &A);
static Vector6d unbracket6(const Eigen::Matrix4d &A);
static Eigen::Matrix4d integrate(const Eigen::Matrix4d &E0, const Eigen::VectorXd &phi, double h);
static Vector6d log(const Eigen::Matrix4d &A);
};
#endif
Computing file changes ...