物性

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()

 

GetMassInvGetInertiaInvはそれぞれ質量の逆数と慣性行列の逆行列を返します. CompInertiaは,その剛体が持つ形状とそれらの密度をもとに剛体の質量,質量中心と慣性行列を計算し,設定します. dynamicalは,その剛体が物理法則に従うかどうかを指定するフラグです. もしdynamicaltrueの場合,その剛体に加わる力が計算され, ニュートンの運動法則にしたがって剛体の速度が変化します. 一方,dynamicalfalseの場合は外力による影響を受けず,設定された速度で等速運動します. これはちょうど∞の質量をもつ場合と同じです.