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

Method visualize

physx/source/physx/src/NpArticulationLink.cpp:437–464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

435
436#if PX_ENABLE_DEBUG_VISUALIZATION
437void NpArticulationLink::visualize(Cm::RenderOutput& out, NpScene* scene)
438{
439 NpArticulationLinkT::visualize(out, scene);
440
441 if (getScbBodyFast().getActorFlags() & PxActorFlag::eVISUALIZATION)
442 {
443 PX_ASSERT(getScene());
444 PxReal scale = getScene()->getVisualizationParameter(PxVisualizationParameter::eSCALE);
445
446 PxReal massAxes = scale * getScene()->getVisualizationParameter(PxVisualizationParameter::eBODY_MASS_AXES);
447 if (massAxes != 0)
448 {
449 PxU32 color = 0xff;
450 color = (color<<16 | color<<8 | color);
451 PxVec3 dims = invertDiagInertia(getScbBodyFast().getInverseInertia());
452 dims = getDimsFromBodyInertia(dims, 1.0f / getScbBodyFast().getInverseMass());
453
454 out << color << getScbBodyFast().getBody2World() << Cm::DebugBox(dims * 0.5f);
455 }
456 PxReal frameScale = scale * getScene()->getVisualizationParameter(PxVisualizationParameter::eJOINT_LOCAL_FRAMES);
457 PxReal limitScale = scale * getScene()->getVisualizationParameter(PxVisualizationParameter::eJOINT_LIMITS);
458 if ( frameScale != 0.0f || limitScale != 0.0f )
459 {
460 Cm::ConstraintImmediateVisualizer viz( frameScale, limitScale, out );
461 visualizeJoint( viz );
462 }
463 }
464}
465
466static PX_FORCE_INLINE PxReal computePhi(const PxQuat& q)
467{

Callers

nothing calls this directly

Calls 7

invertDiagInertiaFunction · 0.85
getDimsFromBodyInertiaFunction · 0.85
DebugBoxClass · 0.85
getInverseMassMethod · 0.80
visualizeFunction · 0.70
getActorFlagsMethod · 0.45

Tested by

no test coverage detected