|
FEBio
1.5.0
|
00001 // FERigidJoint.h: interface for the FERigidJoint class. 00002 // 00004 00005 #if !defined(AFX_FERIGIDJOINT_H__22EBB207_A1C7_465E_B985_A2140CBA9BDB__INCLUDED_) 00006 #define AFX_FERIGIDJOINT_H__22EBB207_A1C7_465E_B985_A2140CBA9BDB__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include "vec3d.h" 00013 #include "FECore/vector.h" 00014 #include "DumpFile.h" 00015 #include "FEParameterList.h" 00016 00017 class FEM; 00018 00019 //----------------------------------------------------------------------------- 00022 00023 class FERigidJoint : public FEParamContainer 00024 { 00025 public: 00027 FERigidJoint(FEM* pfem); 00028 00030 virtual ~FERigidJoint(); 00031 00033 void ShallowCopy(FERigidJoint& rj) 00034 { 00035 m_nRBa = rj.m_nRBa; 00036 m_nRBb = rj.m_nRBb; 00037 00038 m_q0 = rj.m_q0; 00039 m_qa0 = rj.m_qa0; 00040 m_qb0 = rj.m_qb0; 00041 00042 m_F = rj.m_F; 00043 m_L = rj.m_L; 00044 00045 m_eps = rj.m_eps; 00046 m_atol = rj.m_atol; 00047 } 00048 00050 void JointForces(vector<double>& R); 00051 00053 void JointStiffness(); 00054 00056 bool Augment(); 00057 00059 void Serialize(DumpFile& ar); 00060 00061 public: 00062 int m_nRBa; 00063 int m_nRBb; 00064 00065 vec3d m_q0; 00066 vec3d m_qa0; 00067 vec3d m_qb0; 00068 00069 vec3d m_F; 00070 vec3d m_L; 00071 double m_eps; 00072 double m_atol; 00073 00074 protected: 00075 FEM* m_pfem; 00076 00077 int m_nID; 00078 00079 DECLARE_PARAMETER_LIST(); 00080 }; 00081 00082 #endif // !defined(AFX_FERIGIDJOINT_H__22EBB207_A1C7_465E_B985_A2140CBA9BDB__INCLUDED_)
1.7.5.1