Representation of an entire scene graph. More...
#include <rendering/rendering.hh>
Inherits enable_shared_from_this< Scene >.
Public Types | |
enum | SkyXMode { GZ_SKYX_ALL = 0x0FFFFFFF, GZ_SKYX_CLOUDS = 0x0000001, GZ_SKYX_MOON = 0x0000002, GZ_SKYX_NONE = 0 } |
Public Member Functions | |
Scene (const std::string &_name, const bool _enableVisualizations=false, const bool _isServer=false) | |
Constructor. More... | |
virtual | ~Scene () |
Destructor. More... | |
void | AddLight (LightPtr _light) |
Add a light to the scene. More... | |
void | AddVisual (VisualPtr _vis) |
Add a visual to the scene. More... | |
ignition::math::Color | AmbientColor () const |
Get the ambient color. More... | |
ignition::math::Color | BackgroundColor () const |
Get the background color. More... | |
uint32_t | CameraCount () const |
Get the number of cameras in this scene. More... | |
void | Clear () |
Clear rendering::Scene. More... | |
CameraPtr | CreateCamera (const std::string &_name, const bool _autoRender=true) |
Create a camera. More... | |
DepthCameraPtr | CreateDepthCamera (const std::string &_name, const bool _autoRender=true) |
Create depth camera. More... | |
GpuLaserPtr | CreateGpuLaser (const std::string &_name, const bool _autoRender=true) |
Create laser that generates data from rendering. More... | |
void | CreateGrid (const uint32_t _cellCount, const float _cellLength, const ignition::math::Color &_color) |
Create a square grid of cells. More... | |
UserCameraPtr | CreateUserCamera (const std::string &_name, const bool _stereoEnabled=false) |
Create a user camera. More... | |
WideAngleCameraPtr | CreateWideAngleCamera (const std::string &_name, const bool _autoRender=true) |
Create a wide-angle camera. More... | |
void | DrawLine (const ignition::math::Vector3d &_start, const ignition::math::Vector3d &_end, const std::string &_name) |
Draw a named line. More... | |
void | EnableVisualizations (const bool _enable) |
Enable visualizations, currently only applies to sensor visuals. More... | |
bool | EnableVisualizations () const |
Check whether visualizations are enabled or not. More... | |
bool | FirstContact (CameraPtr _camera, const ignition::math::Vector2i &_mousePos, ignition::math::Vector3d &_position) |
Get the world pos of a the first contact at a pixel location. More... | |
CameraPtr | GetCamera (const uint32_t _index) const |
Get a camera based on an index. More... | |
CameraPtr | GetCamera (const std::string &_name) const |
Get a camera by name. More... | |
Grid * | GetGrid (uint32_t _index) const |
Get a grid based on an index. More... | |
Heightmap * | GetHeightmap () const |
Get a pointer to the heightmap. More... | |
LightPtr | GetLight (const std::string &_name) const GAZEBO_DEPRECATED(9.1) |
Get a light by name. More... | |
LightPtr | GetLight (const uint32_t _index) const GAZEBO_DEPRECATED(9.1) |
Get a light based on an index. More... | |
SkyX::SkyX * | GetSkyX () const |
Get the sky in the scene. More... | |
UserCameraPtr | GetUserCamera (const uint32_t _index) const |
Get a user camera by index. More... | |
VisualPtr | GetVisual (const std::string &_name) const |
Get a visual by name. More... | |
VisualPtr | GetVisual (const uint32_t _id) const |
Get a visual by id. More... | |
uint32_t | GridCount () const |
Get the number of grids. More... | |
bool | HasLayer (const int32_t _layer) const |
Return true if the layer exits. More... | |
double | HeightBelowPoint (const ignition::math::Vector3d &_pt) |
Get the Z-value of the first object below the given point. More... | |
unsigned int | HeightmapLOD () const |
Get the Level Of Detail (LOD) value for the heightmap. More... | |
double | HeightmapSkirtLength () const |
Get the skirt length value for the heightmap LOD tiles. More... | |
uint32_t | Id () const |
Get the scene ID. More... | |
std::string | IdString () const |
Get the scene Id as a string. More... | |
void | Init () |
Init rendering::Scene. More... | |
bool | Initialized () const |
Return true if the Scene has been initialized. More... | |
bool | LayerState (const int32_t _layer) const |
Return whether a layer is on or off. More... | |
LightPtr | LightById (const uint32_t _id) const |
Get a light by id. More... | |
LightPtr | LightByIndex (const uint32_t _index) const |
Get a light based on an index. More... | |
LightPtr | LightByName (const std::string &_name) const |
Get a light by name. More... | |
uint32_t | LightCount () const |
Get the count of the lights. More... | |
void | Load (sdf::ElementPtr _scene) |
Load the scene from a set of parameters. More... | |
void | Load () |
Load the scene with default parameters. More... | |
VisualPtr | ModelVisualAt (CameraPtr _camera, const ignition::math::Vector2i &_mousePos) |
Get a model's visual at a mouse position. More... | |
std::string | Name () const |
Get the name of the scene. More... | |
Ogre::SceneManager * | OgreSceneManager () const |
Get the OGRE scene manager. More... | |
void | PreRender () |
Process all received messages. More... | |
void | PrintSceneGraph () |
Print the scene graph to std_out. More... | |
void | RemoveCamera (const std::string &_name) |
Remove a camera from the scene. More... | |
void | RemoveLight (LightPtr _light) |
Remove a light to the scene. More... | |
void | RemoveProjectors () |
Remove all projectors. More... | |
void | RemoveVisual (VisualPtr _vis) |
Remove a visual from the scene. More... | |
void | RemoveVisual (const uint32_t _id) |
Remove a visual from the scene. More... | |
VisualPtr | SelectedVisual () const |
Get the currently selected visual. More... | |
void | SelectVisual (const std::string &_name, const std::string &_mode) |
Select a visual by name. More... | |
void | SetAmbientColor (const ignition::math::Color &_color) |
Set the ambient color. More... | |
void | SetBackgroundColor (const ignition::math::Color &_color) |
Set the background color. More... | |
void | SetFog (const std::string &_type, const ignition::math::Color &_color, const double _density, const double _start, const double _end) |
Set the fog parameters. More... | |
void | SetGrid (const bool _enabled) |
Set the grid on or off. More... | |
void | SetHeightmapLOD (const unsigned int _value) |
Set the Level Of Detail (LOD) value for the heightmap. More... | |
void | SetHeightmapSkirtLength (const double _value) |
Set the skirt length value for the heightmap LOD tiles. More... | |
void | SetShadowsEnabled (const bool _value) |
Set whether shadows are on or off. More... | |
bool | SetShadowTextureSize (const unsigned int _size) |
Set the shadow texture size. More... | |
void | SetSkyXMode (const unsigned int _mode) |
Set SkyX mode to enable/disable skyx components such as clouds and moon. More... | |
void | SetTransparent (const bool _show) |
Enable or disable transparency for all visuals. More... | |
void | SetVisible (const std::string &_name, const bool _visible) |
Hide or show a visual. More... | |
void | SetVisualId (VisualPtr _vis, const uint32_t _id) |
void | SetWireframe (const bool _show) |
Enable or disable wireframe for all visuals. More... | |
bool | ShadowsEnabled () const |
Get whether shadows are on or off. More... | |
unsigned int | ShadowTextureSize () const |
Get the shadow texture size. More... | |
void | ShowClouds (const bool _show) |
Display clouds in the sky. More... | |
bool | ShowClouds () const |
Get whether or not clouds are displayed. More... | |
void | ShowCollisions (const bool _show) |
Enable or disable collision visualization. More... | |
void | ShowCOMs (const bool _show) |
Enable or disable center of mass visualization. More... | |
void | ShowContacts (const bool _show) |
Enable or disable contact visualization. More... | |
void | ShowInertias (const bool _show) |
Enable or disable inertia visualization. More... | |
void | ShowJoints (const bool _show) |
Enable or disable joint visualization. More... | |
void | ShowLinkFrames (const bool _show) |
Enable or disable link frame visualization. More... | |
void | ShowOrigin (const bool _show) |
Show/hide the world origin indicator. More... | |
void | ShowSkeleton (const bool _show) |
Enable or disable skeleton visualization. More... | |
common::Time | SimTime () const |
Get the scene simulation time. More... | |
void | SnapVisualToNearestBelow (const std::string &_visualName) |
Move the visual to be ontop of the nearest visual below it. More... | |
std::string | StripSceneName (const std::string &_name) const |
Remove the name of scene from a string. More... | |
void | ToggleLayer (const int32_t _layer) |
Toggle layer visilibility. More... | |
uint32_t | UserCameraCount () const |
Get the number of user cameras in this scene. More... | |
VisualPtr | VisualAt (CameraPtr _camera, const ignition::math::Vector2i &_mousePos, std::string &_mod) |
Get an entity at a pixel location using a camera. More... | |
VisualPtr | VisualAt (CameraPtr _camera, const ignition::math::Vector2i &_mousePos) |
Get a visual at a mouse position. More... | |
VisualPtr | VisualBelow (const std::string &_visualName) |
Get the closest visual below a given visual. More... | |
uint32_t | VisualCount () const |
Get the number of visuals. More... | |
void | VisualsBelowPoint (const ignition::math::Vector3d &_pt, std::vector< VisualPtr > &_visuals) |
Get a visual directly below a point. More... | |
bool | Wireframe () const |
Get whether wireframe is enabled for all visuals. More... | |
VisualPtr | WorldVisual () const |
Get the top level world visual. More... | |
Representation of an entire scene graph.
Visualization markers are shapes and meshes that have no kinematic or dynamic properties. Their primary use is to visually augment the rendering scene.
See gazebo/examples/stand_alone/marker
for an example program that manipulates visualization markers.
The gz marker
command line tool can also be used to manipulate visualization markers. For more information use:
$ gz marker -h
The following Ignition Transport services can be use to create, modify, delete, and list visualization markers.
Maintains all the Visuals, Lights, and Cameras for a World.
enum SkyXMode |
Scene | ( | const std::string & | _name, |
const bool | _enableVisualizations = false , |
||
const bool | _isServer = false |
||
) |
Constructor.
[in] | _name | Name of the scene. |
[in] | _enableVisualizations | True to enable visualizations, this should be set to true for user interfaces, and false for sensor generation. |
|
virtual |
Destructor.
ignition::math::Color AmbientColor | ( | ) | const |
Get the ambient color.
ignition::math::Color BackgroundColor | ( | ) | const |
Get the background color.
uint32_t CameraCount | ( | ) | const |
Get the number of cameras in this scene.
void Clear | ( | ) |
Clear rendering::Scene.
CameraPtr CreateCamera | ( | const std::string & | _name, |
const bool | _autoRender = true |
||
) |
Create a camera.
[in] | _name | Name of the new camera. |
[in] | _autoRender | True to allow Gazebo to automatically render the camera. This should almost always be true. |
DepthCameraPtr CreateDepthCamera | ( | const std::string & | _name, |
const bool | _autoRender = true |
||
) |
Create depth camera.
[in] | _name | Name of the new camera. |
[in] | _autoRender | True to allow Gazebo to automatically render the camera. This should almost always be true. |
GpuLaserPtr CreateGpuLaser | ( | const std::string & | _name, |
const bool | _autoRender = true |
||
) |
Create laser that generates data from rendering.
[in] | _name | Name of the new laser. |
[in] | _autoRender | True to allow Gazebo to automatically render the camera. This should almost always be true. |
void CreateGrid | ( | const uint32_t | _cellCount, |
const float | _cellLength, | ||
const ignition::math::Color & | _color | ||
) |
Create a square grid of cells.
[in] | _cellCount | Number of grid cells in one direction. |
[in] | _cellLength | Length of one grid cell. |
[in] | _color | Color of the grid lines. |
UserCameraPtr CreateUserCamera | ( | const std::string & | _name, |
const bool | _stereoEnabled = false |
||
) |
Create a user camera.
A user camera is one design for use with a GUI.
[in] | _name | Name of the UserCamera. |
[in] | _stereoEnabled | True to enable stereo rendering. This is here for compatibility with 3D monitors/TVs. |
WideAngleCameraPtr CreateWideAngleCamera | ( | const std::string & | _name, |
const bool | _autoRender = true |
||
) |
Create a wide-angle camera.
[in] | _name | Name of the new camera. |
[in] | _autoRender | True to allow Gazebo to automatically render the camera. This should almost always be true. |
void DrawLine | ( | const ignition::math::Vector3d & | _start, |
const ignition::math::Vector3d & | _end, | ||
const std::string & | _name | ||
) |
Draw a named line.
[in] | _start | Start position of the line. |
[in] | _end | End position of the line. |
[in] | _name | Name of the line. |
void EnableVisualizations | ( | const bool | _enable | ) |
Enable visualizations, currently only applies to sensor visuals.
[in] | _enable | True to enable, false to disable. |
bool EnableVisualizations | ( | ) | const |
Check whether visualizations are enabled or not.
bool FirstContact | ( | CameraPtr | _camera, |
const ignition::math::Vector2i & | _mousePos, | ||
ignition::math::Vector3d & | _position | ||
) |
Get the world pos of a the first contact at a pixel location.
[in] | _camera | Pointer to the camera. |
[in] | _mousePos | 2D position of the mouse in pixels. |
[out] | _position | 3D position of the first contact point. |
CameraPtr GetCamera | ( | const uint32_t | _index | ) | const |
Get a camera based on an index.
Index must be between 0 and Scene::GetCameraCount.
[in] | _index | Index of the camera to get. |
CameraPtr GetCamera | ( | const std::string & | _name | ) | const |
Get a camera by name.
[in] | _name | Name of the camera. |
Grid* GetGrid | ( | uint32_t | _index | ) | const |
Get a grid based on an index.
Index must be between 0 and Scene::GetGridCount.
[in] | _index | Index of the grid. |
Heightmap* GetHeightmap | ( | ) | const |
Get a pointer to the heightmap.
LightPtr GetLight | ( | const std::string & | _name | ) | const |
Get a light by name.
[in] | _name | Name of the light to get. |
LightPtr GetLight | ( | const uint32_t | _index | ) | const |
Get a light based on an index.
The index must be between 0 and Scene::GetLightCount.
[in] | _index | Index of the light. |
SkyX::SkyX* GetSkyX | ( | ) | const |
Get the sky in the scene.
UserCameraPtr GetUserCamera | ( | const uint32_t | _index | ) | const |
Get a user camera by index.
The index value must be between 0 and Scene::GetUserCameraCount.
[in] | _index | Index of the UserCamera to get. |
VisualPtr GetVisual | ( | const std::string & | _name | ) | const |
Get a visual by name.
[in] | _name | Name of the visual to retrieve. |
VisualPtr GetVisual | ( | const uint32_t | _id | ) | const |
Get a visual by id.
[in] | _id | ID of the visual to retrieve. |
uint32_t GridCount | ( | ) | const |
Get the number of grids.
bool HasLayer | ( | const int32_t | _layer | ) | const |
Return true if the layer exits.
[in] | _layer | Index of the layer to check for existance. |
double HeightBelowPoint | ( | const ignition::math::Vector3d & | _pt | ) |
Get the Z-value of the first object below the given point.
[in] | _pt | Position to search below for a visual. |
unsigned int HeightmapLOD | ( | ) | const |
Get the Level Of Detail (LOD) value for the heightmap.
double HeightmapSkirtLength | ( | ) | const |
Get the skirt length value for the heightmap LOD tiles.
uint32_t Id | ( | ) | const |
Get the scene ID.
std::string IdString | ( | ) | const |
Get the scene Id as a string.
void Init | ( | ) |
Init rendering::Scene.
bool Initialized | ( | ) | const |
Return true if the Scene has been initialized.
bool LayerState | ( | const int32_t | _layer | ) | const |
Return whether a layer is on or off.
A negative layer is always active.
[in] | _layer | Index of the layer to check. |
LightPtr LightById | ( | const uint32_t | _id | ) | const |
Get a light by id.
[in] | _id | Unique light id. |
LightPtr LightByIndex | ( | const uint32_t | _index | ) | const |
Get a light based on an index.
The index must be between 0 and Scene::GetLightCount-1.
[in] | _index | Index of the light. |
LightPtr LightByName | ( | const std::string & | _name | ) | const |
Get a light by name.
[in] | _name | Name of the light to get. |
uint32_t LightCount | ( | ) | const |
Get the count of the lights.
void Load | ( | sdf::ElementPtr | _scene | ) |
Load the scene from a set of parameters.
[in] | _scene | SDF scene element to load. |
void Load | ( | ) |
Load the scene with default parameters.
Get a model's visual at a mouse position.
[in] | _camera | Pointer to the camera used to project the mouse position. |
[in] | _mousePos | The 2d position of the mouse in pixels. |
std::string Name | ( | ) | const |
Get the name of the scene.
Ogre::SceneManager* OgreSceneManager | ( | ) | const |
Get the OGRE scene manager.
void PreRender | ( | ) |
Process all received messages.
void PrintSceneGraph | ( | ) |
Print the scene graph to std_out.
void RemoveCamera | ( | const std::string & | _name | ) |
Remove a camera from the scene.
[in] | _name | Name of the camera. |
void RemoveLight | ( | LightPtr | _light | ) |
Remove a light to the scene.
[in] | _light | Light to Remove. |
void RemoveProjectors | ( | ) |
Remove all projectors.
void RemoveVisual | ( | VisualPtr | _vis | ) |
Remove a visual from the scene.
[in] | _vis | Visual to remove. |
void RemoveVisual | ( | const uint32_t | _id | ) |
Remove a visual from the scene.
[in] | _id | Id of the visual to remove. |
VisualPtr SelectedVisual | ( | ) | const |
Get the currently selected visual.
void SelectVisual | ( | const std::string & | _name, |
const std::string & | _mode | ||
) |
Select a visual by name.
[in] | _name | Name of the visual to select. |
[in] | _mode | Selection mode (normal, or move). |
void SetAmbientColor | ( | const ignition::math::Color & | _color | ) |
Set the ambient color.
[in] | _color | The ambient color to use. |
void SetBackgroundColor | ( | const ignition::math::Color & | _color | ) |
Set the background color.
[in] | _color | The background color. |
void SetFog | ( | const std::string & | _type, |
const ignition::math::Color & | _color, | ||
const double | _density, | ||
const double | _start, | ||
const double | _end | ||
) |
Set the fog parameters.
[in] | _type | Type of fog: "linear", "exp", or "exp2". |
[in] | _color | Color of the fog. |
[in] | _density | Fog density. |
[in] | _start | Distance from camera to start the fog. |
[in] | _end | Distance from camera at which the fog is at max density. |
void SetGrid | ( | const bool | _enabled | ) |
Set the grid on or off.
[in] | _enabled | Set to true to turn on the grid |
void SetHeightmapLOD | ( | const unsigned int | _value | ) |
Set the Level Of Detail (LOD) value for the heightmap.
[in] | _value | A render-engine specific value used to compute LOD. |
void SetHeightmapSkirtLength | ( | const double | _value | ) |
Set the skirt length value for the heightmap LOD tiles.
[in] | _value | Length of skirts on LOD tiles |
void SetShadowsEnabled | ( | const bool | _value | ) |
Set whether shadows are on or off.
[in] | _value | True to enable shadows, False to disable |
bool SetShadowTextureSize | ( | const unsigned int | _size | ) |
Set the shadow texture size.
[in] | _size | Size to set the shadow texture to. This must be a power of 2. The default size is 1024. |
void SetSkyXMode | ( | const unsigned int | _mode | ) |
Set SkyX mode to enable/disable skyx components such as clouds and moon.
[in] | _mode | SkyX mode bitmask. |
void SetTransparent | ( | const bool | _show | ) |
Enable or disable transparency for all visuals.
[in] | _show | True to enable transparency for all visuals. |
void SetVisible | ( | const std::string & | _name, |
const bool | _visible | ||
) |
Hide or show a visual.
[in] | _name | Name of the visual to change. |
[in] | _visible | True to make visual visible, False to make it invisible. |
void SetVisualId | ( | VisualPtr | _vis, |
const uint32_t | _id | ||
) |
void SetWireframe | ( | const bool | _show | ) |
Enable or disable wireframe for all visuals.
[in] | _show | True to enable wireframe for all visuals. |
bool ShadowsEnabled | ( | ) | const |
Get whether shadows are on or off.
unsigned int ShadowTextureSize | ( | ) | const |
Get the shadow texture size.
void ShowClouds | ( | const bool | _show | ) |
Display clouds in the sky.
[in] | _show | True to display clouds. |
bool ShowClouds | ( | ) | const |
Get whether or not clouds are displayed.
void ShowCollisions | ( | const bool | _show | ) |
Enable or disable collision visualization.
[in] | _show | True to enable collision visualization. |
void ShowCOMs | ( | const bool | _show | ) |
Enable or disable center of mass visualization.
[in] | _show | True to enable center of mass visualization. |
void ShowContacts | ( | const bool | _show | ) |
Enable or disable contact visualization.
[in] | _show | True to enable contact visualization. |
void ShowInertias | ( | const bool | _show | ) |
Enable or disable inertia visualization.
[in] | _show | True to enable inertia visualization. |
void ShowJoints | ( | const bool | _show | ) |
Enable or disable joint visualization.
[in] | _show | True to enable joint visualization. |
void ShowLinkFrames | ( | const bool | _show | ) |
Enable or disable link frame visualization.
[in] | _show | True to enable link frame visualization. |
void ShowOrigin | ( | const bool | _show | ) |
Show/hide the world origin indicator.
[in] | _show | True to show the origin. |
void ShowSkeleton | ( | const bool | _show | ) |
Enable or disable skeleton visualization.
[in] | _show | True to enable skeleton visualization. |
common::Time SimTime | ( | ) | const |
void SnapVisualToNearestBelow | ( | const std::string & | _visualName | ) |
Move the visual to be ontop of the nearest visual below it.
[in] | _visualName | Name of the visual to move. |
std::string StripSceneName | ( | const std::string & | _name | ) | const |
Remove the name of scene from a string.
[in] | _name | Name to string the scene name from. |
void ToggleLayer | ( | const int32_t | _layer | ) |
Toggle layer visilibility.
This will process all visuals. If a visual is on the specified layer its visiblity will be toggled. Visuals with a negative layer index are always visible.
[in] | _layer | Index of the layer to toggle. |
uint32_t UserCameraCount | ( | ) | const |
Get the number of user cameras in this scene.
VisualPtr VisualAt | ( | CameraPtr | _camera, |
const ignition::math::Vector2i & | _mousePos, | ||
std::string & | _mod | ||
) |
Get an entity at a pixel location using a camera.
Used for mouse picking.
[in] | _camera | The ogre camera, used to do mouse picking |
[in] | _mousePos | The position of the mouse in screen coordinates |
[out] | _mod | Used for object manipulation |
Get a visual at a mouse position.
[in] | _camera | Pointer to the camera used to project the mouse position. |
[in] | _mousePos | The 2d position of the mouse in pixels. |
VisualPtr VisualBelow | ( | const std::string & | _visualName | ) |
Get the closest visual below a given visual.
[in] | _visualName | Name of the visual to search below. |
uint32_t VisualCount | ( | ) | const |
Get the number of visuals.
void VisualsBelowPoint | ( | const ignition::math::Vector3d & | _pt, |
std::vector< VisualPtr > & | _visuals | ||
) |
Get a visual directly below a point.
[in] | _pt | 3D point to get the visual below. |
[out] | _visuals | The visuals below the point order in proximity. |
bool Wireframe | ( | ) | const |
Get whether wireframe is enabled for all visuals.
VisualPtr WorldVisual | ( | ) | const |
Get the top level world visual.