PHSolidDesc |
||
double |
mass |
質量 |
Matrix3d |
inertia |
慣性行列 |
Vec3d |
center |
質量中心 |
bool |
dynamical |
物理法則にしたがうか |
PHSolidIf |
||
double |
GetMass() |
|
double |
GetMassInv() |
|
void |
SetMass(double) |
|
Vec3d |
GetCenterOfMass() |
|
void |
SetCenterOfMass(const Vec3d&) |
|
Matrix3d |
GetInertia() |
|
Matrix3d |
GetInertiaInv() |
|
void |
SetInertia(const Matrix3d&) |
|
void |
CompInertia() |
|
void |
SetDynamical(bool) |
|
bool |
IsDynamical() |
GetMassInvとGetInertiaInvはそれぞれ質量の逆数と慣性行列の逆行列を返します. CompInertiaは,その剛体が持つ形状とそれらの密度をもとに剛体の質量,質量中心と慣性行列を計算し,設定します. dynamicalは,その剛体が物理法則に従うかどうかを指定するフラグです. もしdynamicalがtrueの場合,その剛体に加わる力が計算され, ニュートンの運動法則にしたがって剛体の速度が変化します. 一方,dynamicalがfalseの場合は外力による影響を受けず,設定された速度で等速運動します. これはちょうど∞の質量をもつ場合と同じです.