MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / readBone

Function readBone

physx/samples/samplebase/AcclaimLoader.cpp:352–434  ·  view source on GitHub ↗

//////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

350
351///////////////////////////////////////////////////////////////////////////////
352static bool readBone(SampleFileBuffer& buffer, Acclaim::Bone& bone)
353{
354 using namespace Acclaim;
355
356 int nbDOF = 0;
357 char token[MAX_TOKEN_LENGTH], dummy[MAX_TOKEN_LENGTH];
358
359 if (buffer.getNextTokenButMarker(token) == false)
360 return false;
361
362 if (strcmp(token, "begin") != 0)
363 return false;
364
365 while (buffer.getNextToken(token, false) == true)
366 {
367 if (strcmp(token, "id") == 0)
368 {
369 if (buffer.getNextInt(bone.mID) == false) return false;
370 }
371 else if (strcmp(token, "name") == 0)
372 {
373 if (buffer.getNextString(bone.mName) == false) return false;
374 }
375 else if (strcmp(token, "direction") == 0)
376 {
377 if (buffer.getNextVec3(bone.mDirection) == false) return false;
378 }
379 else if (strcmp(token, "length") == 0)
380 {
381 if (buffer.getNextFloat(bone.mLength) == false) return false;
382 }
383 else if (strcmp(token, "axis") == 0)
384 {
385 if (buffer.getNextVec3(bone.mAxis) == false) return false;
386 buffer.getNextToken(dummy, true);
387 }
388 else if (strcmp(token, "dof") == 0)
389 {
390 while ((buffer.getNextToken(dummy, true) == true))
391 {
392 if (strcmp(dummy, "rx") == 0)
393 {
394 bone.mDOF |= BoneDOFFlag::eRX;
395 nbDOF++;
396 }
397 else if (strcmp(dummy, "ry") == 0)
398 {
399 bone.mDOF |= BoneDOFFlag::eRY;
400 nbDOF++;
401 }
402 else if (strcmp(dummy, "rz") == 0)
403 {
404 bone.mDOF |= BoneDOFFlag::eRZ;
405 nbDOF++;
406 }
407 else if (strcmp(dummy, "l") == 0)
408 {
409 bone.mDOF |= BoneDOFFlag::eLENGTH;

Callers 1

readBoneDataFunction · 0.85

Calls 8

strcmpFunction · 0.85
getNextTokenButMarkerMethod · 0.80
getNextTokenMethod · 0.80
getNextIntMethod · 0.80
getNextStringMethod · 0.80
getNextVec3Method · 0.80
getNextFloatMethod · 0.80
skipUntilNextLineMethod · 0.80

Tested by

no test coverage detected