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

Method update

physx/samples/samplebase/RenderBaseActor.cpp:107–130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107void RenderBaseActor::update(float deltaTime)
108{
109 // Setup render transform from physics transform, if physics object exists
110 if(mPhysicsShape)
111 {
112 if(!mArticulationLink && ( !mDynamicActor || mDynamicActor->isSleeping()))
113 return;
114
115 PxTransform newPose = PxShapeExt::getGlobalPose(*mPhysicsShape, *mPhysicsActor);
116 PxVec3 newShapeCenter = getShapeCenter(mPhysicsActor, mPhysicsShape, mCCDWitnessOffset);
117
118 bool updateCCDWitness = true;
119 if(gRaycastCCD && mEnableCCD)
120 updateCCDWitness = doRaycastCCD(mPhysicsActor, mPhysicsShape, newPose, newShapeCenter, mCCDWitness, mCCDWitnessOffset);
121
122 // Copy physics pose to graphics pose
123 setTransform(PxTransform(newPose.p, newPose.q * mPhysicsToGraphicsRot));
124
125 if(updateCCDWitness)
126 mCCDWitness = newShapeCenter;
127
128 setWorldBounds(PxShapeExt::getWorldBounds(*mPhysicsShape, *mPhysicsActor));
129 }
130}
131
132void RenderBaseActor::render(Renderer& renderer, RenderMaterial* material, bool wireFrame)
133{

Callers

nothing calls this directly

Calls 4

getShapeCenterFunction · 0.70
doRaycastCCDFunction · 0.70
PxTransformClass · 0.50
isSleepingMethod · 0.45

Tested by

no test coverage detected