PhysX 3.3 Setting PxRigidBody world position

Sorry for the simple question but how do I set the world position of a PxRigidBody that has previously been created.

All the example I look at set the position when the object is created but I would like to set a new position to click objects in my scene.

I have tried the following but the objects remain at their original position.

physx::PxVec3 pxVec;
		pxVec.x = position->x;
		pxVec.y = position->y;
		pxVec.z = position->z;

		physx::PxTransform positionTrans;
		positionTrans.createIdentity();
		positionTrans.transform( pxVec );

		_pRigidBody->setGlobalPose( positionTrans );

Thanks in advanced

Check if the pose is valid:

positionTrans.isValid();

If it is valid, i think the problem must be somewhere else.

Thanks for the reply, isValid() always returns false, even when I try simple values

physx::PxVec3 pxVec;

pxVec.x = 0.0f;
pxVec.y = 0.0f;
pxVec.z = 0.0f;

physx::PxTransform positionTrans;
positionTrans.createIdentity();
positionTrans.transform( pxVec );

if ( positionTrans.isValid() )
{
	_pRigidBody->setGlobalPose( positionTrans );
}

The values in the Transform matrix are all 107374176 no matter the values I use in the vector.

try this:

physx::PxTransform positionTrans(physx::PxMat44(physx::PxMat33(1.0), physx::PxVec3(pxVec)));

I’m not sure why the above didn’t work but after looking at the documentation again I found PxTransform can take a position vector in the constructor, the below code correctly sets the position.

physx::PxVec3 pxVec;
pxVec.x = position->x;
pxVec.y = position->y;
pxVec.z = position->z;

physx::PxTransform positionTrans( pxVec );

if ( positionTrans.isValid() )
{
	_pRigidBody->setGlobalPose( positionTrans );
}