質量パラメータを表すdMass構造体は、以下に示すように質量、重心、慣性テンソルのメンバにより構成されます。
struct dMass {
  dReal mass;  // 質量
  dVector3 c;  // 重心
  dMatrix3 I;  // 慣性テンソル
};
			それぞれのパラメータの初期値は質量1.0、重心 (0.0, 0.0, 0.0) で、慣性テンソルは単位行列となっています。
dMassSetParameters()により、質量・重心・慣性テンソルを設定できます。これは次に示す基本形状以外の、任意形状のボディの質量を設定するときに使用されます。
void dMassSetParameters (
    dMass *mass,                     // 設定対象のdMass構造体
    dReal themass,                   // 質量
    dReal cgx, dReal cgy, dReal cgz, // 重心
    dReal I11, dReal I22, dReal I33, // 慣性テンソル
    dReal I12, dReal I13, dReal I23  //
    );
		基本的な形状についてはその形状のパラメータを与えることで、重心や慣性テンソルを設定できます。形状のパラメータは、ジオメトリのサイズのパラメータに近いものとして理解できます。
おのおのの関数には、質量を直接設定する方法と、密度から質量を求める方法の2種類があります。これらの関数は、関数名以外の引数は同一です。
| 球体 (Sphere)  | 
void dMassSetSphereTotal (
    dMass *mass,
    dReal total_mass,  // 質量
    dReal radius       // 半径
    );
 | 
| 直方体 (Box)  | 
void dMassSetBoxTotal (
    dMass *mass,
    dReal total_mass, // 質量
    dReal lx,         // x軸方向の長さ
    dReal ly,         // y軸方向の長さ
    dReal lz          // z軸方向の長さ
    );
 | 
| カプセル (Capsule)  | 
void dMassSetCapsuleTotal (
    dMass *mass,
    dReal total_mass, // 質量
    int direction,    // 長軸方向(1=x軸 2=y軸 3=z軸)
    dReal radius,     // 半径
    dReal length      // 長さ
    );
 | 
| 円柱 (Cylinder)  | 
void dMassSetCylinderTotal (
    dMass *mass,
    dReal total_mass,  // 質量
    int direction,     // 長軸方向(1=x軸 2=y軸 3=z軸)
    dReal radius,      // 半径
    dReal length       // 長さ
    );
 | 
dMass構造体のすべてのパラメータ (質量、重心、慣性テンソル) を0にします。
void dMassSetZero ( dMass * );
質量がnewmassになるように調整します。これはdMassSetXx()によって密度から設定した場合に、その質量を設定するのに有効です。
void dMassAdjust ( dMass *, dReal newmass );
ボディに対する相対座標で、重心が位置 (x,y,z) になるように調整します。
void dMassTranslate (dMass *mass, dReal x, dReal y, dReal z );
ボディに対する相対座標で、回転行列Rによって回転させます。
void dMassRotate (dMass *mass, const dMatrix3 R );
質量パラメータaに、質量パラメータbを加算します。
void dMassAdd ( dMass *a, const dMass *b );