| 94 | } |
| 95 | |
| 96 | void CPHElement::build() |
| 97 | { |
| 98 | m_body = dBodyCreate(0); // phWorld |
| 99 | // m_saved_contacts=dJointGroupCreate (0); |
| 100 | // b_contacts_saved=false; |
| 101 | dBodyDisable(m_body); |
| 102 | // dBodySetFiniteRotationMode(m_body,1); |
| 103 | // dBodySetFiniteRotationAxis(m_body,0,0,0); |
| 104 | VERIFY2(dMass_valide(&m_mass), "Element has bad mass"); |
| 105 | if (m_geoms.empty()) |
| 106 | { |
| 107 | Fix(); |
| 108 | } |
| 109 | else |
| 110 | { |
| 111 | VERIFY2(m_mass.mass > 0.f, "Element has bad mass"); |
| 112 | dBodySetMass(m_body, &m_mass); |
| 113 | } |
| 114 | |
| 115 | VERIFY_BOUNDARIES2(m_mass_center, phBoundaries, PhysicsRefObject(), "m_mass_center") |
| 116 | |
| 117 | dBodySetPosition(m_body, m_mass_center.x, m_mass_center.y, m_mass_center.z); |
| 118 | |
| 119 | CPHDisablingTranslational::Reinit(); |
| 120 | /////////////////////////////////////////////////////////////////////////////////////// |
| 121 | CPHGeometryOwner::build(); |
| 122 | set_body(m_body); |
| 123 | } |
| 124 | |
| 125 | void CPHElement::RunSimulation() |
| 126 | { |
nothing calls this directly
no test coverage detected