#pragma once #ifndef __Forces__ #define __Forces__ #include #include #include #include "Cloth.h" #include "external\ArcSim\mesh.hpp" #define EIGEN_DONT_ALIGN_STATICALLY #include #include #include #ifdef EOLC_ONLINE class MatrixStack; class Program; #endif // EOLC_ONLINE //class Mesh; class Obstacles; class Forces { public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW Forces() {}; virtual ~Forces() {}; Eigen::VectorXd f; Eigen::SparseMatrix M; Eigen::SparseMatrix MDK; void fill(const Mesh& mesh, const Material& mat, const Eigen::Vector3d& grav, double h); #ifdef EOLC_ONLINE void drawSimple(std::shared_ptr MV, const std::shared_ptr p) const; #endif // EOLC_ONLINE }; #endif