MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / PlaceBindToElFormsRecursive

Method PlaceBindToElFormsRecursive

ogsr_engine/xrGame/PHShell.cpp:1358–1378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1356 (*i)->setForce(force);
1357}
1358void CPHShell::PlaceBindToElFormsRecursive(Fmatrix parent, u16 id, u16 element, VisMask& mask)
1359{
1360 CBoneData& bone_data = m_pKinematics->LL_GetData(u16(id));
1361 SJointIKData& joint_data = bone_data.IK_data;
1362
1363 if (mask.is(/*1ui64<<(u64)*/ id)) //Вот тут проверить надо, кажется мне тут было не правильно.
1364 {
1365 if (no_physics_shape(bone_data.shape) || joint_data.type == jtRigid && element != u16(-1))
1366 {}
1367 else
1368 {
1369 element++;
1370 R_ASSERT2(element < elements.size(), "Out of elements!!");
1371 // if(elements.size()==element) return;
1372 CPHElement* E = (elements[element]);
1373 E->mXFORM.mul(parent, bone_data.bind_transform);
1374 }
1375 }
1376 for (vecBonesIt it = bone_data.children.begin(); it != bone_data.children.end(); ++it)
1377 PlaceBindToElFormsRecursive(mXFORM, (*it)->GetSelfID(), element, mask);
1378}
1379
1380void CPHShell::BonesBindCalculate(u16 id_from) { BonesBindCalculateRecursive(Fidentity, 0); }
1381void CPHShell::BonesBindCalculateRecursive(Fmatrix parent, u16 id)

Callers

nothing calls this directly

Calls 6

no_physics_shapeFunction · 0.85
isMethod · 0.80
sizeMethod · 0.45
mulMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected