| 833 | } |
| 834 | |
| 835 | static void checkArticulationLink(NpScene* scene, NpArticulationLink* link) |
| 836 | { |
| 837 | #if PX_CHECKED |
| 838 | scene->checkPositionSanity(*link, link->getGlobalPose(), "PxScene::addArticulation or PxScene::addAggregate"); |
| 839 | #else |
| 840 | PX_UNUSED(scene); |
| 841 | #endif |
| 842 | if(link->getMass()==0.0f) |
| 843 | { |
| 844 | Ps::getFoundation().error(PxErrorCode::eDEBUG_WARNING, __FILE__, __LINE__, "PxScene::addArticulation(): Articulation link with zero mass added to scene; defaulting mass to 1"); |
| 845 | link->setMass(1.0f); |
| 846 | } |
| 847 | |
| 848 | const PxVec3 inertia0 = link->getMassSpaceInertiaTensor(); |
| 849 | if(inertia0.x == 0.0f || inertia0.y == 0.0f || inertia0.z == 0.0f) |
| 850 | { |
| 851 | Ps::getFoundation().error(PxErrorCode::eDEBUG_WARNING, __FILE__, __LINE__, "PxScene::addArticulation(): Articulation link with zero moment of inertia added to scene; defaulting inertia to (1,1,1)"); |
| 852 | link->setMassSpaceInertiaTensor(PxVec3(1.0f, 1.0f, 1.0f)); |
| 853 | } |
| 854 | } |
| 855 | |
| 856 | void NpScene::addArticulationInternal(PxArticulationBase& npa) |
| 857 | { |
no test coverage detected