Hi Gaurav, apologies for the late reply.
There are basically two ways of achieving this - you can either translate / scale / rotate the geometry within the mesh so that the centre of the mesh object is at the point you want to scaleAt, rotateAt etc ( called the transform or pivot point) , while the geometry is at the position you want to display the object. Note that operations on geometries are expensive so you should move the geometry a minimum number of times relative to the mesh.
Or you can leave the geometry at it’s default position (centred) within the mesh and add the mesh as a child of a
THREE.Group. Position the group at the point you want to transform around and the mesh relative to it. The group is now the pivot point for your object.
This is the option you should choose if you are moving the mesh relative to the pivot point frequently as it should perform better.