yes you can, using NewtonBodySetMassProperties.
suppose the image below represent the vehicle,
- collision.png (4.88 KiB) Viewed 6759 times
say the top image is the vehicle with a full tank of gas, calling NewtonBodySetMassProperties with that collision shape will calculate the proper inrtia and center of mass.
say that later on your vehicle uses some gas and now the tank weigh less, you can get the collision shape and make a copy by calling
NewtonCollision* NewtonCollisionCreateInstance (const NewtonCollision* const collision);
then you find the sub shape that represent the gas tank and you scale it new volume, then you call NewtonBodySetMassProperties with this modified new shape and the new COM and inertia will be set correctly. there are functions to get the volume of the sub shapes if you need that.
You can hold to the helper shape or delete it if you like, the entire operation are very efficient, in teh sence that the operate in time linear to teh number of shape.