LiangliangNan / Easy3D

A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
GNU General Public License v3.0
1.37k stars 245 forks source link

[BUG] - fitScreenRegion change the pivot point #174

Closed giovancris closed 1 year ago

giovancris commented 1 year ago

Hey gents :)

First of all good job with this library really clear and intuitive :) I am facing an issue with the fitScreenRegion, method when I use it I seems that the axis for the zoom action is not correct anymore, before digging inside this one I want to be sure that this is not a known issue and check if you can quickly steer me in the right direction.

To reproduce the issue you can use one of the examples you already created and fit the screen region using command+mouse left button (I am on macOS). To be more specific I am using "Tutorial_701_Cloud_NormalEstimation", I'll attach a video to better show you what I mean

https://github.com/LiangliangNan/Easy3D/assets/123107936/53582d1b-1478-4a68-88d1-02d5288d9e9c

I tried different thing to make it works like reset the pivot point, call setSceneCenter after fitScreenRegion etc.. but nothing seems to work :/

I am using macOS 13.6 and I build the software in debug mode

Thank you for your help :)

LiangliangNan commented 1 year ago

Hi, the default pivot point is set to the center of the bounding box of the object. So everything seems to work well in your video.

You can create your preferred pivot point by pressing "SHIFT" + "Left click" on a model. After that, the object can be manipulated by rotating around the pivot point or using it as an anchor for scaling.

giovancris commented 1 year ago

Yep!

Thank you for your reply :)

I also noticed that I can use the method 'setZoomsOnPivotPoint' to change the behavior!

You can close this one :)