[DONE] Camera placement
[DONE] Camera placement
Hello,
First of all thank you for sharing and the development of this software. It has already helped me a lot !
I notice a limitation in terms of camera's placement. Indeed, I would like to define " in hard" spatial position of the center of rotation by clicking a 3D point. This option is available ?
Hoping to have been sufficiently explicit.
Thank you in advance for your answers.
Sincerely,
Valentin
First of all thank you for sharing and the development of this software. It has already helped me a lot !
I notice a limitation in terms of camera's placement. Indeed, I would like to define " in hard" spatial position of the center of rotation by clicking a 3D point. This option is available ?
Hoping to have been sufficiently explicit.
Thank you in advance for your answers.
Sincerely,
Valentin
Re: Camera placement
Interesting!
Two users asking the same thing the same day: we should definitively add this functionality!
The sole solution for changing camera 'placement' right now is to select one or more entity and to click on the "magnifier" icon (left toolbar). It will automatically center the camera on the center of gravity of the selection.
To do it "quick and dirty": we can simply activate at least the "camera translation" fields (Tx,Ty,Tz) in the camera parameters dialog (left toolbar) soon. As you can "pick" a point with the "point picking" tool (its coordinates are then displayed both on screen and in the console area), you could then recopy these coordinates in the translation fields. It should do the trick, at least temporarily.
I'll keep you informed.
Daniel
Two users asking the same thing the same day: we should definitively add this functionality!
The sole solution for changing camera 'placement' right now is to select one or more entity and to click on the "magnifier" icon (left toolbar). It will automatically center the camera on the center of gravity of the selection.
To do it "quick and dirty": we can simply activate at least the "camera translation" fields (Tx,Ty,Tz) in the camera parameters dialog (left toolbar) soon. As you can "pick" a point with the "point picking" tool (its coordinates are then displayed both on screen and in the console area), you could then recopy these coordinates in the translation fields. It should do the trick, at least temporarily.
I'll keep you informed.
Daniel
Daniel, CloudCompare admin
Re: Camera placement
Ok, the 'camera parameters' dialog has been updated: now the user can set the 'pivot' point by specifying its 3 coordinates.
As you can also pick a point (with the 'camera parameters' dialog still active), you can copy its coordinates in those fields and you'll get the camera centered on a given point!
The next step will be to do this automatically... Meanwhile, I hope it will do the trick.
Daniel
As you can also pick a point (with the 'camera parameters' dialog still active), you can copy its coordinates in those fields and you'll get the camera centered on a given point!
The next step will be to do this automatically... Meanwhile, I hope it will do the trick.
Daniel
Daniel, CloudCompare admin
Re: Camera placement
Hello,
I just take the latest version of Cloud Compare and I made some manipulations on the camera position. The result is nice.
Thank you.
Sincerely,
Valentin
I just take the latest version of Cloud Compare and I made some manipulations on the camera position. The result is nice.
Thank you.
Sincerely,
Valentin
Re: Camera placement
Thanks daniel for the improvment.
-
- Posts: 6
- Joined: Mon Dec 13, 2010 4:20 am
Re: Camera placement
I'm looking at coding an automated way for the user to set the rotation pivot point (i.e. to avoid the manual copy and pasting of values). Are there any suggestions about the preferred way this should be done? Or has any work been done on this since 2011-02-11?
Thanks,
David.
Thanks,
David.
Re: Camera placement
Very good!
You should first look how the "point picking tool" works (ccPointPropertiesDlg or ccPointListPickingDlg).
I think a simple way to do it could be:
You should first look how the "point picking tool" works (ccPointPropertiesDlg or ccPointListPickingDlg).
I think a simple way to do it could be:
- Add a "ToolButton" to the camera dialog next to the camera center coordinates fields (with the "point picking" icon typically ;)
- When the user click on it, activate the point picking mechanism on the current window and connect the window 'point picked' signal to a new slot on this dialog
- When a point is picked, fill the coordinates fields with it (the standard process should then run as if the user had entered them himself)
- Deactivate the point picking mechanism
- You can activate the point picking mechanism on a 3D window with the 'setPickingMode' method:
Code: Select all
win->setPickingMode(POINT_PICKING);
- To deactivate it:
Code: Select all
win->setPickingMode(DEFAULT_PICKING);
- The current 3D window is named 'associatedWin' in the ccCameraParamEditDlg class
- When the picking mechanism is activated, each time a point is selected, the window emit the 'pointPicked' signal
Code: Select all
//! Signal emitted in point picking mode to declare picking of a given point /** \param cloudID cloud unique ID \param pointIndex point index in cloud **/ void pointPicked(int cloudUniqueID, unsigned pointIndex);
- To get the point coordinates, you just have to request the right point cloud to the DB (I've just added the 'dbRoot()' method to the MainWindow class to make this easier)
Code: Select all
ccHObject* obj = MainWindow::TheInstance()->dbRoot()->find(cloudID); if (obj && obj->isKindOf(CC_POINT_CLOUD)) { ccPointCloud* cloud = static_cast<ccPointCloud*>(obj); const CCVector3* P = cloud->getPoint(pointIndex); }
- Eventually, there's a mechanism to detect if the current window focus has changed, but for a first shot, you can forget it!
Daniel, CloudCompare admin
-
- Posts: 6
- Joined: Mon Dec 13, 2010 4:20 am
Re: Camera placement
Many thanks, Daniel! That should get me started. I'll certainly ask if I have any further questions.
David.
David.
Re: Camera placement
Hi all,
automatically positioning the center of rotation at picked point would be really great. This way you can navigate clouds with very large spatial extension. This works really well for instance in Leica Cyclone : you click on a specific icon (or you use a keyboard shortcut), the cursor changes to a target, you pick a point, and then you're centered and back to the noraml operation of the mouse (rotation, translation etc...).
Dim
automatically positioning the center of rotation at picked point would be really great. This way you can navigate clouds with very large spatial extension. This works really well for instance in Leica Cyclone : you click on a specific icon (or you use a keyboard shortcut), the cursor changes to a target, you pick a point, and then you're centered and back to the noraml operation of the mouse (rotation, translation etc...).
Dim
Re: Camera placement
I was waiting for updates about this functionnality from dktrudgett (who was willing to advance on this topic).
I might do it myself soon however.
Daniel
I might do it myself soon however.
Daniel