![]() |
RobWorkProject
23.9.11-
|
interface for viewing a scene graph. More...
#include <SceneViewer.hpp>
Inherited by SceneViewerWidget.
Classes | |
| struct | View |
Public Types | |
| typedef rw::core::Ptr< SceneViewer > | Ptr |
| smart pointer type to this class | |
| typedef boost::function< void(const rw::math::Vector3D<> &)> | PositionSelectedListener |
| Defines a listener for position change events. More... | |
| typedef rw::core::Event< PositionSelectedListener, const rw::math::Vector3D<> & > | PositionSelectedEvent |
| Defines event for PositionChanged. | |
Public Member Functions | |
| SceneViewer () | |
| Constructor. | |
| virtual | ~SceneViewer () |
| Destructor. | |
| virtual SceneGraph::Ptr | getScene ()=0 |
| get the current scene graph | |
| virtual const std::string & | getLogo () const =0 |
| get the logo that is displayed in the 3d scene | |
| virtual void | setLogo (const std::string &string)=0 |
| set the logo that is displayed in the 3d scene | |
| virtual rw::core::PropertyMap & | getPropertyMap ()=0 |
| get propertymap | |
| virtual void | updateView ()=0 |
| Update the view. | |
| virtual void | updateState (const rw::kinematics::State &state)=0 |
| Set a new state. More... | |
| virtual void | setWorldNode (rw::graphics::GroupNode::Ptr wnode)=0 |
| Set the world group node. More... | |
| virtual void | setWorkCellScene (rw::core::Ptr< class WorkCellScene > wcscene) |
| Set the WorkCell scene. More... | |
| virtual rw::graphics::GroupNode::Ptr | getWorldNode ()=0 |
| Get the world node. More... | |
| virtual void | saveBufferToFile (const std::string &filename, const int fillR, const int fillG, const int fillB)=0 |
| Saves the current 3D view to disk as either jpg, bmp or png. More... | |
| virtual SceneCamera::Ptr | getViewCamera ()=0 |
| Get the view camera. More... | |
| virtual rw::math::Vector3D | getViewCenter ()=0 |
| Get the view center. More... | |
| virtual DrawableNode::Ptr | pickDrawable (int x, int y)=0 |
| picks the drawable in the scene that intersects with the ray (x,y,-1) in camera coordinates. More... | |
| virtual DrawableNode::Ptr | pickDrawable (SceneGraph::RenderInfo &info, int x, int y)=0 |
| picks the drawable in the scene that intersects with the ray (x,y,-1) in camera coordinates. More... | |
| virtual View::Ptr | createView (const std::string &name, bool enableBackground=false)=0 |
| Create a new view. More... | |
| virtual View::Ptr | getMainView ()=0 |
| Get the main view. More... | |
| virtual void | destroyView (View::Ptr view)=0 |
| Destroy view. More... | |
| virtual void | selectView (View::Ptr view)=0 |
| Select a view. More... | |
| virtual View::Ptr | getCurrentView ()=0 |
| Get the currently selected view. More... | |
| virtual std::vector< View::Ptr > | getViews ()=0 |
| Get all views. More... | |
| virtual void | renderView (View::Ptr view)=0 |
| Render a view. More... | |
| PositionSelectedEvent & | positionSelectedEvent () |
| Returns PositionChangedEvent object needed for subscription to and firing of event. More... | |
| virtual void | setTransform (const rw::math::Transform3D<> &t3d) |
| set the orientation of the view. The view will look in the positive direction of the z-axis, with x-axis as the width and the y-axis as the height. Origin of view is in the center of the image. More... | |
| virtual rw::math::Transform3D | getTransform () |
| get the current rotation of the view More... | |
| virtual void | zoom (double amount)=0 |
| Move the camera along its z-axis. More... | |
| virtual void | autoZoom ()=0 |
| Automatically fits all frames inside the viewport by moving camera in its z-axis. | |
Protected Attributes | |
| PositionSelectedEvent | _positionSelectedEvent |
| Event for selection of a position. | |
| rw::core::Ptr< class WorkCellScene > | _wcscene |
| The WorkCell scene. | |
interface for viewing a scene graph.
The scene graph viewer
| typedef boost::function<void(const rw::math::Vector3D<>&)> PositionSelectedListener |
Defines a listener for position change events.
These listeners are called when user has selected a point in the 3D view.
To send an event double clicking left mouse button on the point of interest while pressing shift.
Example use in a plugin: See RobWorkStudio::StateChangedListener
|
pure virtual |
Create a new view.
| name | [in] name of view. |
| enableBackground | [in] (optional) enable the background. Default is false. |
Implemented in SceneOpenGLViewer.
|
pure virtual |
Destroy view.
| view | [in] the view to destroy. |
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
get the current rotation of the view
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
picks the drawable in the scene that intersects with the ray (x,y,-1) in camera coordinates.
| x | [in] first camera coordinate. |
| y | [in] second camera coordinate. |
Implemented in SceneOpenGLViewer.
|
pure virtual |
picks the drawable in the scene that intersects with the ray (x,y,-1) in camera coordinates.
| info | [in] rendering information. |
| x | [in] first camera coordinate. |
| y | [in] second camera coordinate. |
Implemented in SceneOpenGLViewer.
|
inline |
Returns PositionChangedEvent object needed for subscription to and firing of event.
|
pure virtual |
Render a view.
| view | [in] the view to render |
|
pure virtual |
Saves the current 3D view to disk as either jpg, bmp or png.
If failing a std::string is thrown with a detailed description of what when wrong.
| filename | [in] Path and name of the file. The filename extension should be either ".jpg", ".bmp" or ".png" to specify which format to use. |
| fillR | [in] Fill color if viewport is smaller than image, red component [0,255] |
| fillG | [in] Fill color if viewport is smaller than image, green component [0,255] |
| fillB | [in] Fill color if viewport is smaller than image, blue component [0,255] |
Implemented in SceneOpenGLViewer.
|
pure virtual |
Select a view.
| view | [in] the view to select. |
|
inlinevirtual |
set the orientation of the view. The view will look in the positive direction of the z-axis, with x-axis as the width and the y-axis as the height. Origin of view is in the center of the image.
| t3d | [in] transform relative to world |
Reimplemented in SceneOpenGLViewer.
|
inlinevirtual |
Set the WorkCell scene.
| wcscene | [in] the workcell scene. |
Reimplemented in SceneOpenGLViewer.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Move the camera along its z-axis.
| amount | [in] the amount of zoom. |
Implemented in SceneOpenGLViewer.