17 return dMassCheck(&_mass);
26 set_parameters(dReal themass,
27 dReal cgx, dReal cgy, dReal cgz,
28 dReal I11, dReal I22, dReal I33,
29 dReal I12, dReal I13, dReal I23) {
30 _mass.setParameters(themass,
37 set_parameters(dReal themass,
40 set_parameters(themass,
41 center[0], center[1], center[2],
42 i(0, 0), i(1, 1), i(2, 2),
43 i(0, 1), i(0, 2), i(1, 2));
47 set_sphere(dReal density, dReal radius) {
48 _mass.setSphere(density, radius);
52 set_sphere_total(dReal total_mass, dReal radius) {
53 dMassSetSphereTotal(&_mass, total_mass, radius);
57 set_capsule(dReal density,
int direction,
58 dReal radius, dReal length) {
59 _mass.setCapsule(density, direction,
64 set_capsule_total(dReal total_mass,
int direction,
65 dReal radius, dReal length) {
66 dMassSetCapsuleTotal(&_mass,
67 total_mass, direction,
72 set_cylinder(dReal density,
int direction,
73 dReal radius, dReal length) {
74 dMassSetCylinder(&_mass,
80 set_cylinder_total(dReal total_mass,
int direction,
81 dReal radius, dReal length) {
82 dMassSetCylinderTotal(&_mass, total_mass, direction,
87 set_box(dReal density,
88 dReal lx, dReal ly, dReal lz) {
94 set_box(dReal density,
97 size[0], size[1], size[2]);
100 INLINE
void OdeMass::
101 set_box_total(dReal total_mass,
103 dMassSetBoxTotal(&_mass,
105 size[0], size[1], size[2]);
108 INLINE
void OdeMass::
109 set_box_total(dReal total_mass,
110 dReal lx, dReal ly, dReal lz) {
111 dMassSetBoxTotal(&_mass,
116 INLINE
void OdeMass::
117 adjust(dReal newmass) {
118 _mass.adjust(newmass);
121 INLINE
void OdeMass::
122 translate(dReal x, dReal y, dReal z) {
123 _mass.translate(x, y, z);
126 INLINE
void OdeMass::
128 translate(pos[0], pos[1], pos[2]);
131 INLINE
void OdeMass::
133 dMatrix3 rot = { r(0, 0), r(0, 1), r(0, 2), 0,
134 r(1, 0), r(1, 1), r(1, 2), 0,
135 r(2, 0), r(2, 1), r(2, 2), 0 };
139 INLINE
void OdeMass::
141 _mass.add(other.get_mass_ptr());
144 INLINE dReal OdeMass::
145 get_magnitude()
const {
151 return LPoint3f(_mass.c[0], _mass.c[1], _mass.c[2]);
155 get_inertial_tensor()
const {
156 return LMatrix3f(_mass.I[0], _mass.I[1], _mass.I[2] ,
157 _mass.I[4], _mass.I[5], _mass.I[6] ,
158 _mass.I[8], _mass.I[9], _mass.I[10]);
This is the base class for all three-component vectors and points.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is a 3-by-3 transform matrix.