https://github.com/sueda/eol-cloth
Revision a6d03813fc8cd8b58edc6b3cef6b2f732f4d9d36 authored by Nick Weidner on 07 September 2018, 18:25:33 UTC, committed by Nick Weidner on 07 September 2018, 18:25:33 UTC
1 parent 09335f4
Tip revision: a6d03813fc8cd8b58edc6b3cef6b2f732f4d9d36 authored by Nick Weidner on 07 September 2018, 18:25:33 UTC
Point fix
Point fix
Tip revision: a6d0381
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 ...