Programmatically zoom in/out the same way the mousewheel does it

Hello, could you please help me with :

Using an ArcRotateCamera. By default, the user can mouse-wheel up/down to zoom in/out.
But I also have in the UI separate zoom-in/out buttons, and I want them to zoom in/out in the same way (using that mouse-wheel smooth ease-out default animation) and amount that the mouse-wheel does it.

Until now I was using a hardcoded step to programmatically zoom in/out like :

camera.radius += ZOOM_STEP;

but I noticed the default mousewheel zoom takes into account the scene’s overall size once I import a 3d model, so, a hardcoded setting that works for one 3d model, does not work well for another ( zooms faster or slower )

So, then, how can I programmatically zoom in/out the same way the mousewheel does?

Many thanks for your time

Actually here is the relevant code:

More specifically:
1 Like

Thank you very much Deltakosh for your time!