Ignition Rendering

API Reference

4.0.0
Scene Class Referenceabstract

Manages a single scene-graph. This class updates scene-wide properties and holds the root scene node. A Scene also serves as a factory for all scene objects. More...

#include <ignition/rendering/Scene.hh>

Public Member Functions

virtual ~Scene ()
 Deconstructor. More...
 
virtual math::Color AmbientLight () const =0
 Get the scene ambient light color. More...
 
virtual math::Color BackgroundColor () const =0
 Get the scene background color. More...
 
virtual void Clear ()=0
 Remove and destroy all objects from the scene graph. This does not completely destroy scene resources, so new objects can be created and added to the scene afterwards. More...
 
virtual ArrowVisualPtr CreateArrowVisual ()=0
 Create new arrow visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual ArrowVisualPtr CreateArrowVisual (unsigned int _id)=0
 Create new arrow visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned. More...
 
virtual ArrowVisualPtr CreateArrowVisual (const std::string &_name)=0
 Create new arrow visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned. More...
 
virtual ArrowVisualPtr CreateArrowVisual (unsigned int _id, const std::string &_name)=0
 Create new arrow visual with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual AxisVisualPtr CreateAxisVisual ()=0
 Create new axis visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual AxisVisualPtr CreateAxisVisual (unsigned int _id)=0
 Create new axis visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned. More...
 
virtual AxisVisualPtr CreateAxisVisual (const std::string &_name)=0
 Create new axis visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned. More...
 
virtual AxisVisualPtr CreateAxisVisual (unsigned int _id, const std::string &_name)=0
 Create new axis visual with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GeometryPtr CreateBox ()=0
 Create new box geometry. More...
 
virtual CameraPtr CreateCamera ()=0
 Create new camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual CameraPtr CreateCamera (unsigned int _id)=0
 Create new camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned. More...
 
virtual CameraPtr CreateCamera (const std::string &_name)=0
 Create new camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned. More...
 
virtual CameraPtr CreateCamera (unsigned int _id, const std::string &_name)=0
 Create new camera with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GeometryPtr CreateCone ()=0
 Create new cone geometry. More...
 
virtual GeometryPtr CreateCylinder ()=0
 Create new cylinder geometry. More...
 
virtual DepthCameraPtr CreateDepthCamera ()=0
 Create new depth camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual DepthCameraPtr CreateDepthCamera (unsigned int _id)=0
 Create new depth camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned. More...
 
virtual DepthCameraPtr CreateDepthCamera (const std::string &_name)=0
 Create new depth camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned. More...
 
virtual DepthCameraPtr CreateDepthCamera (unsigned int _id, const std::string &_name)=0
 Create new depth camera with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual DirectionalLightPtr CreateDirectionalLight ()=0
 Create new directional light. A unique ID and name will automatically be assigned to the light. More...
 
virtual DirectionalLightPtr CreateDirectionalLight (unsigned int _id)=0
 Create new directional light with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned. More...
 
virtual DirectionalLightPtr CreateDirectionalLight (const std::string &_name)=0
 Create new directional light with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned. More...
 
virtual DirectionalLightPtr CreateDirectionalLight (unsigned int _id, const std::string &_name)=0
 Create new directional light with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GizmoVisualPtr CreateGizmoVisual ()=0
 Create new gizmo visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual GizmoVisualPtr CreateGizmoVisual (unsigned int _id)=0
 Create new gizmo visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned. More...
 
virtual GizmoVisualPtr CreateGizmoVisual (const std::string &_name)=0
 Create new gizmo visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned. More...
 
virtual GizmoVisualPtr CreateGizmoVisual (unsigned int _id, const std::string &_name)=0
 Create new gizmo visual with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GpuRaysPtr CreateGpuRays ()=0
 Create new gpu rays caster. A unique ID and name will automatically be assigned to the gpu rays caster. More...
 
virtual GpuRaysPtr CreateGpuRays (unsigned int _id)=0
 Create new gpu rays caster with the given ID. A unique name will automatically be assigned to the gpu rays caster. If the given ID is already in use, NULL will be returned. More...
 
virtual GpuRaysPtr CreateGpuRays (const std::string &_name)=0
 Create new gpu rays caster with the given name. A unique ID will automatically be assigned to the gpu rays caster. If the given name is already in use, NULL will be returned. More...
 
virtual GpuRaysPtr CreateGpuRays (unsigned int _id, const std::string &_name)=0
 Create new gpu rays caster with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GridPtr CreateGrid ()=0
 Create new grid geometry. More...
 
virtual LidarVisualPtr CreateLidarVisual ()=0
 Create new lidar visual. A unique ID and name will automatically be assigned to the lidar visual. More...
 
virtual LidarVisualPtr CreateLidarVisual (unsigned int _id)=0
 Create new lidar visual with the given ID. A unique name will automatically be assigned to the lidar visual. If the given ID is already in use, NULL will be returned. More...
 
virtual LidarVisualPtr CreateLidarVisual (const std::string &_name)=0
 Create new lidar visual with the given name. A unique ID will automatically be assigned to the lidar visual. If the given name is already in use, NULL will be returned. More...
 
virtual LidarVisualPtr CreateLidarVisual (unsigned int _id, const std::string &_name)=0
 Create new lidar visual with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual MarkerPtr CreateMarker ()=0
 Create new marker geometry. More...
 
virtual MaterialPtr CreateMaterial (const std::string &_name="")=0
 Create new material with the given name. Created material will have default properties. More...
 
virtual MaterialPtr CreateMaterial (const common::Material &_material)=0
 Create new material from the reference common::Material. More...
 
virtual MeshPtr CreateMesh (const std::string &_meshName)=0
 Create new mesh geomerty. The rendering::Mesh will be created from a common::Mesh retrieved from common::MeshManager using the given mesh name. If no mesh exists by this name, NULL will be returned. All sub-meshes will be loaded into the created mesh, uncentered. More...
 
virtual MeshPtr CreateMesh (const common::Mesh *_mesh)=0
 Create new mesh geomerty. The rendering::Mesh will be created from the given common::Mesh. All sub-meshes will be loaded into this created mesh, uncentered. More...
 
virtual MeshPtr CreateMesh (const MeshDescriptor &_desc)=0
 Create new mesh geometry. The rendering::Mesh will be created from the given common::Mesh specified in the MeshDescriptor. Sub-meshes will be loaded and centered according to the descriptor. More...
 
virtual ParticleEmitterPtr CreateParticleEmitter ()=0
 Create new particle emitter. A unique ID and name will automatically be assigned to the visual. More...
 
virtual ParticleEmitterPtr CreateParticleEmitter (unsigned int _id)=0
 Create new particle emitter with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned. More...
 
virtual ParticleEmitterPtr CreateParticleEmitter (const std::string &_name)=0
 Create new particle emitter with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned. More...
 
virtual ParticleEmitterPtr CreateParticleEmitter (unsigned int _id, const std::string &_name)=0
 Create new particle emitter with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual GeometryPtr CreatePlane ()=0
 Create new plane geometry. More...
 
virtual PointLightPtr CreatePointLight ()=0
 Create new point light. A unique ID and name will automatically be assigned to the light. More...
 
virtual PointLightPtr CreatePointLight (unsigned int _id)=0
 Create new point light with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned. More...
 
virtual PointLightPtr CreatePointLight (const std::string &_name)=0
 Create new point light with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned. More...
 
virtual PointLightPtr CreatePointLight (unsigned int _id, const std::string &_name)=0
 Create new point light with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual RayQueryPtr CreateRayQuery ()=0
 Create new ray query. More...
 
virtual RenderTexturePtr CreateRenderTexture ()=0
 Create new render texture. More...
 
virtual RenderWindowPtr CreateRenderWindow ()=0
 Create new render window. This feature is render engine dependent. If the engine does not support attaching to a windowing system then it should behave as a a render texture. More...
 
virtual GeometryPtr CreateSphere ()=0
 Create new sphere geometry. More...
 
virtual SpotLightPtr CreateSpotLight ()=0
 Create new spotlight. A unique ID and name will automatically be assigned to the light. More...
 
virtual SpotLightPtr CreateSpotLight (unsigned int _id)=0
 Create new spotlight with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned. More...
 
virtual SpotLightPtr CreateSpotLight (const std::string &_name)=0
 Create new spotlight with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned. More...
 
virtual SpotLightPtr CreateSpotLight (unsigned int _id, const std::string &_name)=0
 Create new spotlight with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual TextPtr CreateText ()=0
 Create new text geometry. More...
 
virtual ThermalCameraPtr CreateThermalCamera ()=0
 Create new thermal camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual ThermalCameraPtr CreateThermalCamera (unsigned int _id)=0
 Create new thermal camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned. More...
 
virtual ThermalCameraPtr CreateThermalCamera (const std::string &_name)=0
 Create new thermal camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned. More...
 
virtual ThermalCameraPtr CreateThermalCamera (unsigned int _id, const std::string &_name)=0
 Create new thermal camera with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual VisualPtr CreateVisual ()=0
 Create new visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual VisualPtr CreateVisual (unsigned int _id)=0
 Create new visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned. More...
 
virtual VisualPtr CreateVisual (const std::string &_name)=0
 Create new visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned. More...
 
virtual VisualPtr CreateVisual (unsigned int _id, const std::string &_name)=0
 Create new visual with the given name. If either the given ID or name is already in use, NULL will be returned. More...
 
virtual WireBoxPtr CreateWireBox ()=0
 Create new wire box geometry. More...
 
virtual void Destroy ()=0
 Completely destroy the scene an all its resources. Continued use of this scene after its destruction will result in undefined behavior. More...
 
virtual void DestroyLight (LightPtr _light, bool _recursive=false)=0
 Destroy given light. If the given light is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them. More...
 
virtual void DestroyLightById (unsigned int _id)=0
 Destroy light with the given id. If no light exists with the given id, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyLightByIndex (unsigned int _index)=0
 Destroy light at the given index. If no light exists at the given index, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyLightByName (const std::string &_name)=0
 Destroy light with the given name. If no light exists with the given name, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyLights ()=0
 Destroy all lights manages by this scene. More...
 
virtual void DestroyMaterial (MaterialPtr _material)=0
 Unregister and destroy a material. More...
 
virtual void DestroyMaterials ()=0
 Unregister and destroys all registered materials. More...
 
virtual void DestroyNode (NodePtr _node, bool _recursive=false)=0
 Destroy given node. If the given node is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them. More...
 
virtual void DestroyNodeById (unsigned int _id)=0
 Destroy node with the given id. If no node exists with the given id, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyNodeByIndex (unsigned int _index)=0
 Destroy node at the given index. If no node exists at the given index, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyNodeByName (const std::string &_name)=0
 Destroy node with the given name. If no node exists with the given name, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyNodes ()=0
 Destroy all nodes manages by this scene. More...
 
virtual void DestroySensor (SensorPtr _sensor, bool _recursive=false)=0
 Destroy given sensor. If the given sensor is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them. More...
 
virtual void DestroySensorById (unsigned int _id)=0
 Destroy sensor with the given id. If no sensor exists with the given id, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroySensorByIndex (unsigned int _index)=0
 Destroy sensor at the given index. If no sensor exists at the given index, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroySensorByName (const std::string &_name)=0
 Destroy sensor with the given name. If no sensor exists with the given name, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroySensors ()=0
 Destroy all sensors manages by this scene. More...
 
virtual void DestroyVisual (VisualPtr _node, bool _recursive=false)=0
 Destroy given node. If the given node is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them. consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyVisualById (unsigned int _id)=0
 Destroy node with the given id. If no node exists with the given id, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyVisualByIndex (unsigned int _index)=0
 Destroy node at the given index. If no node exists at the given index, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyVisualByName (const std::string &_name)=0
 Destroy node with the given name. If no node exists with the given name, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed. More...
 
virtual void DestroyVisuals ()=0
 Destroy all nodes manages by this scene. More...
 
virtual RenderEngineEngine () const =0
 Get the creating render-engine of the scene. More...
 
virtual void Fini ()=0
 
virtual std::array< math::Color, 4 > GradientBackgroundColor () const =0
 Get the scene gradient background color. More...
 
virtual bool HasLight (ConstLightPtr _light) const =0
 Determine if the given light is managed by this Scene. More...
 
virtual bool HasLightId (unsigned int _id) const =0
 Determine if a given light with the given id is managed by this Scene. More...
 
virtual bool HasLightName (const std::string &_name) const =0
 Determine if a given light with the given name is managed by this Scene. More...
 
virtual bool HasNode (ConstNodePtr _node) const =0
 Determine if the given node is managed by this Scene. More...
 
virtual bool HasNodeId (unsigned int _id) const =0
 Determine if a given node with the given id is managed by this Scene. More...
 
virtual bool HasNodeName (const std::string &_name) const =0
 Determine if a given node with the given name is managed by this Scene. More...
 
virtual bool HasSensor (ConstSensorPtr _sensor) const =0
 Determine if the given sensor is managed by this Scene. More...
 
virtual bool HasSensorId (unsigned int _id) const =0
 Determine if a given sensor with the given id is managed by this Scene. More...
 
virtual bool HasSensorName (const std::string &_name) const =0
 Determine if a given sensor with the given name is managed by this Scene. More...
 
virtual bool HasVisual (ConstVisualPtr _node) const =0
 Determine if the given node is managed by this Scene. More...
 
virtual bool HasVisualId (unsigned int _id) const =0
 Determine if a given node with the given id is managed by this Scene. More...
 
virtual bool HasVisualName (const std::string &_name) const =0
 Determine if a given node with the given name is managed by this Scene. More...
 
virtual unsigned int Id () const =0
 Get the ID of the scene. More...
 
virtual void Init ()=0
 Initialize the scene. More...
 
virtual bool IsGradientBackgroundColor () const =0
 Whether the scene has a gradient background or not (solid) More...
 
virtual bool IsInitialized () const =0
 Determine if the scene is initialized. More...
 
virtual LightPtr LightById (unsigned int _id) const =0
 Get light with the given id. If no light exists with the given id, NULL will be returned. More...
 
virtual LightPtr LightByIndex (unsigned int _index) const =0
 Get light at the given index. If no light exists at the given index, NULL will be returned. More...
 
virtual LightPtr LightByName (const std::string &_name) const =0
 Get light with the given name. If no light exists with the given name, NULL will be returned. More...
 
virtual unsigned int LightCount () const =0
 Get the number of lights managed by this scene. Note these lights may not be directly or indirectly attached to the root light. More...
 
virtual void Load ()=0
 Load scene-specific resources. More...
 
virtual MaterialPtr Material (const std::string &_name) const =0
 Get material registered under the given name. If no material is registered under the given name, NULL will be returned. More...
 
virtual bool MaterialRegistered (const std::string &_name) const =0
 Determine if a material is registered under the given name. More...
 
virtual std::string Name () const =0
 Get the name of the scene. More...
 
virtual NodePtr NodeById (unsigned int _id) const =0
 Get node with the given id. If no node exists with the given id, NULL will be returned. More...
 
virtual NodePtr NodeByIndex (unsigned int _index) const =0
 Get node at the given index. If no node exists at the given index, NULL will be returned. More...
 
virtual NodePtr NodeByName (const std::string &_name) const =0
 Get node with the given name. If no node exists with the given name, NULL will be returned. More...
 
virtual unsigned int NodeCount () const =0
 Get the number of nodes managed by this scene. Note these nodes may not be directly or indirectly attached to the root node. More...
 
virtual void PreRender ()=0
 Prepare scene for rendering. The scene will flushing any scene changes by traversing scene-graph, calling PreRender on all objects. More...
 
virtual void RegisterMaterial (const std::string &_name, MaterialPtr _material)=0
 Register a new material under the given name. If the name is already in use, no work will be done. More...
 
virtual void RemoveGradientBackgroundColor ()=0
 Remove the scene gradient background color. More...
 
virtual VisualPtr RootVisual () const =0
 Get root Visual node. All nodes that are desired to be rendered in a scene should be added to this Visual or one of its ancestors in the scene-graph. Nodes created by this Scene will not be added to the scene by default. More...
 
virtual SensorPtr SensorById (unsigned int _id) const =0
 Get sensor with the given id. If no sensor exists with the given id, NULL will be returned. More...
 
virtual SensorPtr SensorByIndex (unsigned int _index) const =0
 Get sensor at the given index. If no sensor exists at the given index, NULL will be returned. More...
 
virtual SensorPtr SensorByName (const std::string &_name) const =0
 Get sensor with the given name. If no sensor exists with the given name, NULL will be returned. More...
 
virtual unsigned int SensorCount () const =0
 Get the number of sensors managed by this scene. Note these sensors may not be directly or indirectly attached to the root sensor. More...
 
virtual void SetAmbientLight (double _r, double _g, double _b, double _a=1.0)=0
 Set the scene ambient light color. More...
 
virtual void SetAmbientLight (const math::Color &_color)=0
 Set the scene ambient light color. More...
 
virtual void SetBackgroundColor (double _r, double _g, double _b, double _a=1.0)=0
 Set the scene background color. More...
 
virtual void SetBackgroundColor (const math::Color &_color)=0
 Set the scene background color. More...
 
virtual void SetGradientBackgroundColor (const std::array< math::Color, 4 > &_colors)=0
 Set a custom gradient background color on top of the regular background. Default should be black. More...
 
virtual void SetSimTime (const common::Time &_time)=0
 Set the last simulation update time. More...
 
virtual void SetTime (const std::chrono::steady_clock::duration &_time)=0
 Set the last simulation update time. More...
 
virtual common::Time SimTime () const =0
 Get the last simulation update time. More...
 
virtual std::chrono::steady_clock::duration Time () const =0
 Get the last simulation update time. More...
 
virtual void UnregisterMaterial (const std::string &_name)=0
 Unregister material registered under the given name. If no material is registered under this name, no work will be done. More...
 
virtual void UnregisterMaterials ()=0
 Unregister all registered materials. More...
 
virtual VisualPtr VisualAt (const CameraPtr &_camera, const math::Vector2i &_mousePos)=0
 Get a visual at a mouse position. More...
 
virtual VisualPtr VisualById (unsigned int _id) const =0
 Get node with the given id. If no node exists with the given id, NULL will be returned. More...
 
virtual VisualPtr VisualByIndex (unsigned int _index) const =0
 Get node at the given index. If no node exists at the given index, NULL will be returned. More...
 
virtual VisualPtr VisualByName (const std::string &_name) const =0
 Get node with the given name. If no node exists with the given name, NULL will be returned. More...
 
virtual unsigned int VisualCount () const =0
 Get the number of nodes managed by this scene. Note these nodes may not be directly or indirectly attached to the root node. More...
 

Detailed Description

Manages a single scene-graph. This class updates scene-wide properties and holds the root scene node. A Scene also serves as a factory for all scene objects.

Constructor & Destructor Documentation

◆ ~Scene()

virtual ~Scene ( )
inlinevirtual

Deconstructor.

References Scene::AmbientLight(), Scene::BackgroundColor(), Scene::Clear(), Scene::CreateArrowVisual(), Scene::CreateAxisVisual(), Scene::CreateBox(), Scene::CreateCamera(), Scene::CreateCone(), Scene::CreateCylinder(), Scene::CreateDepthCamera(), Scene::CreateDirectionalLight(), Scene::CreateGizmoVisual(), Scene::CreateGpuRays(), Scene::CreateGrid(), Scene::CreateLidarVisual(), Scene::CreateMarker(), Scene::CreateMaterial(), Scene::CreateMesh(), Scene::CreateParticleEmitter(), Scene::CreatePlane(), Scene::CreatePointLight(), Scene::CreateRayQuery(), Scene::CreateRenderTexture(), Scene::CreateRenderWindow(), Scene::CreateSphere(), Scene::CreateSpotLight(), Scene::CreateText(), Scene::CreateThermalCamera(), Scene::CreateVisual(), Scene::CreateWireBox(), Scene::Destroy(), Scene::DestroyLight(), Scene::DestroyLightById(), Scene::DestroyLightByIndex(), Scene::DestroyLightByName(), Scene::DestroyLights(), Scene::DestroyMaterial(), Scene::DestroyMaterials(), Scene::DestroyNode(), Scene::DestroyNodeById(), Scene::DestroyNodeByIndex(), Scene::DestroyNodeByName(), Scene::DestroyNodes(), Scene::DestroySensor(), Scene::DestroySensorById(), Scene::DestroySensorByIndex(), Scene::DestroySensorByName(), Scene::DestroySensors(), Scene::DestroyVisual(), Scene::DestroyVisualById(), Scene::DestroyVisualByIndex(), Scene::DestroyVisualByName(), Scene::DestroyVisuals(), Scene::Engine(), Scene::Fini(), Scene::GradientBackgroundColor(), Scene::HasLight(), Scene::HasLightId(), Scene::HasLightName(), Scene::HasNode(), Scene::HasNodeId(), Scene::HasNodeName(), Scene::HasSensor(), Scene::HasSensorId(), Scene::HasSensorName(), Scene::HasVisual(), Scene::HasVisualId(), Scene::HasVisualName(), Scene::Id(), Scene::Init(), Scene::IsGradientBackgroundColor(), Scene::IsInitialized(), Scene::LightById(), Scene::LightByIndex(), Scene::LightByName(), Scene::LightCount(), Scene::Load(), Scene::Material(), Scene::MaterialRegistered(), Scene::Name(), Scene::NodeById(), Scene::NodeByIndex(), Scene::NodeByName(), Scene::NodeCount(), Scene::PreRender(), Scene::RegisterMaterial(), Scene::RemoveGradientBackgroundColor(), Scene::RootVisual(), Scene::SensorById(), Scene::SensorByIndex(), Scene::SensorByName(), Scene::SensorCount(), Scene::SetAmbientLight(), Scene::SetBackgroundColor(), Scene::SetGradientBackgroundColor(), Scene::SetSimTime(), Scene::SetTime(), Scene::SimTime(), Scene::Time(), Scene::UnregisterMaterial(), Scene::UnregisterMaterials(), Scene::VisualAt(), Scene::VisualById(), Scene::VisualByIndex(), Scene::VisualByName(), and Scene::VisualCount().

Member Function Documentation

◆ AmbientLight()

virtual math::Color AmbientLight ( ) const
pure virtual

Get the scene ambient light color.

Returns
The scene ambient light color

Implemented in Ogre2Scene, and OgreScene.

Referenced by Scene::~Scene().

◆ BackgroundColor()

virtual math::Color BackgroundColor ( ) const
pure virtual

Get the scene background color.

Returns
The scene background color

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Clear()

virtual void Clear ( )
pure virtual

Remove and destroy all objects from the scene graph. This does not completely destroy scene resources, so new objects can be created and added to the scene afterwards.

Implemented in BaseScene, Ogre2Scene, and OgreScene.

Referenced by Scene::~Scene().

◆ CreateArrowVisual() [1/4]

virtual ArrowVisualPtr CreateArrowVisual ( )
pure virtual

Create new arrow visual. A unique ID and name will automatically be assigned to the visual.

Returns
The created arrow visual

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateArrowVisual() [2/4]

virtual ArrowVisualPtr CreateArrowVisual ( unsigned int  _id)
pure virtual

Create new arrow visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new arrow visual
Returns
The created arrow visual

Implemented in BaseScene.

◆ CreateArrowVisual() [3/4]

virtual ArrowVisualPtr CreateArrowVisual ( const std::string _name)
pure virtual

Create new arrow visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new arrow visual
Returns
The created arrow visual

Implemented in BaseScene.

◆ CreateArrowVisual() [4/4]

virtual ArrowVisualPtr CreateArrowVisual ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new arrow visual with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new arrow visual
[in]_nameName of the new arrow visual
Returns
The created arrow visual

Implemented in BaseScene.

◆ CreateAxisVisual() [1/4]

virtual AxisVisualPtr CreateAxisVisual ( )
pure virtual

Create new axis visual. A unique ID and name will automatically be assigned to the visual.

Returns
The created axis visual

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateAxisVisual() [2/4]

virtual AxisVisualPtr CreateAxisVisual ( unsigned int  _id)
pure virtual

Create new axis visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new axis visual
Returns
The created axis visual

Implemented in BaseScene.

◆ CreateAxisVisual() [3/4]

virtual AxisVisualPtr CreateAxisVisual ( const std::string _name)
pure virtual

Create new axis visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new axis visual
Returns
The created axis visual

Implemented in BaseScene.

◆ CreateAxisVisual() [4/4]

virtual AxisVisualPtr CreateAxisVisual ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new axis visual with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new axis visual
[in]_nameName of the new axis visual
Returns
The created axis visual

Implemented in BaseScene.

◆ CreateBox()

virtual GeometryPtr CreateBox ( )
pure virtual

Create new box geometry.

Returns
The created box

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateCamera() [1/4]

virtual CameraPtr CreateCamera ( )
pure virtual

Create new camera. A unique ID and name will automatically be assigned to the camera.

Returns
The created camera

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateCamera() [2/4]

virtual CameraPtr CreateCamera ( unsigned int  _id)
pure virtual

Create new camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateCamera() [3/4]

virtual CameraPtr CreateCamera ( const std::string _name)
pure virtual

Create new camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateCamera() [4/4]

virtual CameraPtr CreateCamera ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new camera with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateCone()

virtual GeometryPtr CreateCone ( )
pure virtual

Create new cone geometry.

Returns
The created cone

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateCylinder()

virtual GeometryPtr CreateCylinder ( )
pure virtual

Create new cylinder geometry.

Returns
The created cylinder

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateDepthCamera() [1/4]

virtual DepthCameraPtr CreateDepthCamera ( )
pure virtual

Create new depth camera. A unique ID and name will automatically be assigned to the camera.

Returns
The created camera

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateDepthCamera() [2/4]

virtual DepthCameraPtr CreateDepthCamera ( unsigned int  _id)
pure virtual

Create new depth camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateDepthCamera() [3/4]

virtual DepthCameraPtr CreateDepthCamera ( const std::string _name)
pure virtual

Create new depth camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateDepthCamera() [4/4]

virtual DepthCameraPtr CreateDepthCamera ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new depth camera with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateDirectionalLight() [1/4]

virtual DirectionalLightPtr CreateDirectionalLight ( )
pure virtual

Create new directional light. A unique ID and name will automatically be assigned to the light.

Returns
The created light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateDirectionalLight() [2/4]

virtual DirectionalLightPtr CreateDirectionalLight ( unsigned int  _id)
pure virtual

Create new directional light with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateDirectionalLight() [3/4]

virtual DirectionalLightPtr CreateDirectionalLight ( const std::string _name)
pure virtual

Create new directional light with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateDirectionalLight() [4/4]

virtual DirectionalLightPtr CreateDirectionalLight ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new directional light with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateGizmoVisual() [1/4]

virtual GizmoVisualPtr CreateGizmoVisual ( )
pure virtual

Create new gizmo visual. A unique ID and name will automatically be assigned to the visual.

Returns
The created gizmo visual

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateGizmoVisual() [2/4]

virtual GizmoVisualPtr CreateGizmoVisual ( unsigned int  _id)
pure virtual

Create new gizmo visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new gizmo visual
Returns
The created gizmo visual

Implemented in BaseScene.

◆ CreateGizmoVisual() [3/4]

virtual GizmoVisualPtr CreateGizmoVisual ( const std::string _name)
pure virtual

Create new gizmo visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new gizmo visual
Returns
The created gizmo visual

Implemented in BaseScene.

◆ CreateGizmoVisual() [4/4]

virtual GizmoVisualPtr CreateGizmoVisual ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new gizmo visual with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new gizmo visual
[in]_nameName of the new gizmo visual
Returns
The created gizmo visual

Implemented in BaseScene.

◆ CreateGpuRays() [1/4]

virtual GpuRaysPtr CreateGpuRays ( )
pure virtual

Create new gpu rays caster. A unique ID and name will automatically be assigned to the gpu rays caster.

Returns
The created gpu rays caster

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateGpuRays() [2/4]

virtual GpuRaysPtr CreateGpuRays ( unsigned int  _id)
pure virtual

Create new gpu rays caster with the given ID. A unique name will automatically be assigned to the gpu rays caster. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new gpu rays caster
Returns
The created gpu rays caster

Implemented in BaseScene.

◆ CreateGpuRays() [3/4]

virtual GpuRaysPtr CreateGpuRays ( const std::string _name)
pure virtual

Create new gpu rays caster with the given name. A unique ID will automatically be assigned to the gpu rays caster. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new gpu rays caster
Returns
The created gpu ray caster

Implemented in BaseScene.

◆ CreateGpuRays() [4/4]

virtual GpuRaysPtr CreateGpuRays ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new gpu rays caster with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the gpu ray caster
[in]_nameName of the new gpu ray caster
Returns
The created Gpu ray caster

Implemented in BaseScene.

◆ CreateGrid()

virtual GridPtr CreateGrid ( )
pure virtual

Create new grid geometry.

Returns
The created grid

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateLidarVisual() [1/4]

virtual LidarVisualPtr CreateLidarVisual ( )
pure virtual

Create new lidar visual. A unique ID and name will automatically be assigned to the lidar visual.

Returns
The created lidar visual

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateLidarVisual() [2/4]

virtual LidarVisualPtr CreateLidarVisual ( unsigned int  _id)
pure virtual

Create new lidar visual with the given ID. A unique name will automatically be assigned to the lidar visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new lidar visual
Returns
The created lidar visual

Implemented in BaseScene.

◆ CreateLidarVisual() [3/4]

virtual LidarVisualPtr CreateLidarVisual ( const std::string _name)
pure virtual

Create new lidar visual with the given name. A unique ID will automatically be assigned to the lidar visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new lidar visual
Returns
The created lidar visual

Implemented in BaseScene.

◆ CreateLidarVisual() [4/4]

virtual LidarVisualPtr CreateLidarVisual ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new lidar visual with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the lidar visual.
[in]_nameName of the new lidar visual.
Returns
The created lidar visual

Implemented in BaseScene.

◆ CreateMarker()

virtual MarkerPtr CreateMarker ( )
pure virtual

Create new marker geometry.

Returns
The created marker

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateMaterial() [1/2]

virtual MaterialPtr CreateMaterial ( const std::string _name = "")
pure virtual

Create new material with the given name. Created material will have default properties.

Parameters
[in]_nameName for the new material.
Returns
The created material

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateMaterial() [2/2]

virtual MaterialPtr CreateMaterial ( const common::Material _material)
pure virtual

Create new material from the reference common::Material.

Parameters
[in]_materialReference material
Returns
The created material

Implemented in BaseScene.

◆ CreateMesh() [1/3]

virtual MeshPtr CreateMesh ( const std::string _meshName)
pure virtual

Create new mesh geomerty. The rendering::Mesh will be created from a common::Mesh retrieved from common::MeshManager using the given mesh name. If no mesh exists by this name, NULL will be returned. All sub-meshes will be loaded into the created mesh, uncentered.

Parameters
[in]_meshNameName of the reference mesh
Returns
The created mesh

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateMesh() [2/3]

virtual MeshPtr CreateMesh ( const common::Mesh _mesh)
pure virtual

Create new mesh geomerty. The rendering::Mesh will be created from the given common::Mesh. All sub-meshes will be loaded into this created mesh, uncentered.

Parameters
[in]_meshReference mesh
Returns
The created mesh

Implemented in BaseScene.

◆ CreateMesh() [3/3]

virtual MeshPtr CreateMesh ( const MeshDescriptor _desc)
pure virtual

Create new mesh geometry. The rendering::Mesh will be created from the given common::Mesh specified in the MeshDescriptor. Sub-meshes will be loaded and centered according to the descriptor.

Parameters
[in]_descDescriptor of the mesh to load
Returns
The created mesh

Implemented in BaseScene.

◆ CreateParticleEmitter() [1/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( )
pure virtual

Create new particle emitter. A unique ID and name will automatically be assigned to the visual.

Returns
The created particle emitter

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateParticleEmitter() [2/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( unsigned int  _id)
pure virtual

Create new particle emitter with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new particle emitter
Returns
The created particle emitter

Implemented in BaseScene.

◆ CreateParticleEmitter() [3/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( const std::string _name)
pure virtual

Create new particle emitter with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new particle emitter
Returns
The created particle emitter

Implemented in BaseScene.

◆ CreateParticleEmitter() [4/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new particle emitter with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new particle emitter
[in]_nameName of the new particle emitter
Returns
The created particle emitter

Implemented in BaseScene.

◆ CreatePlane()

virtual GeometryPtr CreatePlane ( )
pure virtual

Create new plane geometry.

Returns
The created plane

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreatePointLight() [1/4]

virtual PointLightPtr CreatePointLight ( )
pure virtual

Create new point light. A unique ID and name will automatically be assigned to the light.

Returns
The created light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreatePointLight() [2/4]

virtual PointLightPtr CreatePointLight ( unsigned int  _id)
pure virtual

Create new point light with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreatePointLight() [3/4]

virtual PointLightPtr CreatePointLight ( const std::string _name)
pure virtual

Create new point light with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreatePointLight() [4/4]

virtual PointLightPtr CreatePointLight ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new point light with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateRayQuery()

virtual RayQueryPtr CreateRayQuery ( )
pure virtual

Create new ray query.

Returns
The created ray query

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateRenderTexture()

virtual RenderTexturePtr CreateRenderTexture ( )
pure virtual

Create new render texture.

Returns
The created render texture

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateRenderWindow()

virtual RenderWindowPtr CreateRenderWindow ( )
pure virtual

Create new render window. This feature is render engine dependent. If the engine does not support attaching to a windowing system then it should behave as a a render texture.

Returns
The created render window

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateSphere()

virtual GeometryPtr CreateSphere ( )
pure virtual

Create new sphere geometry.

Returns
The created sphere

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateSpotLight() [1/4]

virtual SpotLightPtr CreateSpotLight ( )
pure virtual

Create new spotlight. A unique ID and name will automatically be assigned to the light.

Returns
The created light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateSpotLight() [2/4]

virtual SpotLightPtr CreateSpotLight ( unsigned int  _id)
pure virtual

Create new spotlight with the given ID. A unique name will automatically be assigned to the light. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateSpotLight() [3/4]

virtual SpotLightPtr CreateSpotLight ( const std::string _name)
pure virtual

Create new spotlight with the given name. A unique ID will automatically be assigned to the light. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateSpotLight() [4/4]

virtual SpotLightPtr CreateSpotLight ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new spotlight with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new light
[in]_nameName of the new light
Returns
The created light

Implemented in BaseScene.

◆ CreateText()

virtual TextPtr CreateText ( )
pure virtual

Create new text geometry.

Returns
The created text

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateThermalCamera() [1/4]

virtual ThermalCameraPtr CreateThermalCamera ( )
pure virtual

Create new thermal camera. A unique ID and name will automatically be assigned to the camera.

Returns
The created camera

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateThermalCamera() [2/4]

virtual ThermalCameraPtr CreateThermalCamera ( unsigned int  _id)
pure virtual

Create new thermal camera with the given ID. A unique name will automatically be assigned to the camera. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateThermalCamera() [3/4]

virtual ThermalCameraPtr CreateThermalCamera ( const std::string _name)
pure virtual

Create new thermal camera with the given name. A unique ID will automatically be assigned to the camera. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateThermalCamera() [4/4]

virtual ThermalCameraPtr CreateThermalCamera ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new thermal camera with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new camera
[in]_nameName of the new camera
Returns
The created camera

Implemented in BaseScene.

◆ CreateVisual() [1/4]

virtual VisualPtr CreateVisual ( )
pure virtual

Create new visual. A unique ID and name will automatically be assigned to the visual.

Returns
The created visual

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ CreateVisual() [2/4]

virtual VisualPtr CreateVisual ( unsigned int  _id)
pure virtual

Create new visual with the given ID. A unique name will automatically be assigned to the visual. If the given ID is already in use, NULL will be returned.

Parameters
[in]_idID of the new visual
Returns
The created visual

Implemented in BaseScene.

◆ CreateVisual() [3/4]

virtual VisualPtr CreateVisual ( const std::string _name)
pure virtual

Create new visual with the given name. A unique ID will automatically be assigned to the visual. If the given name is already in use, NULL will be returned.

Parameters
[in]_nameName of the new visual
Returns
The created visual

Implemented in BaseScene.

◆ CreateVisual() [4/4]

virtual VisualPtr CreateVisual ( unsigned int  _id,
const std::string _name 
)
pure virtual

Create new visual with the given name. If either the given ID or name is already in use, NULL will be returned.

Parameters
[in]_idID of the new visual
[in]_nameName of the new visual
Returns
The created visual

Implemented in BaseScene.

◆ CreateWireBox()

virtual WireBoxPtr CreateWireBox ( )
pure virtual

Create new wire box geometry.

Returns
The created wire box

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Destroy()

virtual void Destroy ( )
pure virtual

Completely destroy the scene an all its resources. Continued use of this scene after its destruction will result in undefined behavior.

Implemented in BaseScene, Ogre2Scene, and OgreScene.

Referenced by Scene::~Scene().

◆ DestroyLight()

virtual void DestroyLight ( LightPtr  _light,
bool  _recursive = false 
)
pure virtual

Destroy given light. If the given light is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them.

Parameters
[in]_idID of the light to destroy
[in]_recursiveTrue to recursively destroy the node and its children, false to destroy only this node and detach the children

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyLightById()

virtual void DestroyLightById ( unsigned int  _id)
pure virtual

Destroy light with the given id. If no light exists with the given id, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_idID of the light to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyLightByIndex()

virtual void DestroyLightByIndex ( unsigned int  _index)
pure virtual

Destroy light at the given index. If no light exists at the given index, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_indexIndex of the light to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyLightByName()

virtual void DestroyLightByName ( const std::string _name)
pure virtual

Destroy light with the given name. If no light exists with the given name, no work will be done. All children of the light will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_nameName of the light to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyLights()

virtual void DestroyLights ( )
pure virtual

Destroy all lights manages by this scene.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyMaterial()

virtual void DestroyMaterial ( MaterialPtr  _material)
pure virtual

Unregister and destroy a material.

Parameters
[in]_materialMaterial to be unregistered and destroyed

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyMaterials()

virtual void DestroyMaterials ( )
pure virtual

Unregister and destroys all registered materials.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyNode()

virtual void DestroyNode ( NodePtr  _node,
bool  _recursive = false 
)
pure virtual

Destroy given node. If the given node is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them.

Parameters
[in]_idID of the node to destroy
[in]_recursiveTrue to recursively destroy the node and its children, false to destroy only this node and detach the children

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyNodeById()

virtual void DestroyNodeById ( unsigned int  _id)
pure virtual

Destroy node with the given id. If no node exists with the given id, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_idID of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyNodeByIndex()

virtual void DestroyNodeByIndex ( unsigned int  _index)
pure virtual

Destroy node at the given index. If no node exists at the given index, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_indexIndex of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyNodeByName()

virtual void DestroyNodeByName ( const std::string _name)
pure virtual

Destroy node with the given name. If no node exists with the given name, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_nameName of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyNodes()

virtual void DestroyNodes ( )
pure virtual

Destroy all nodes manages by this scene.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroySensor()

virtual void DestroySensor ( SensorPtr  _sensor,
bool  _recursive = false 
)
pure virtual

Destroy given sensor. If the given sensor is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them.

Parameters
[in]_idID of the sensor to destroy
[in]_recursiveTrue to recursively destroy the node and its children, false to destroy only this node and detach the children

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroySensorById()

virtual void DestroySensorById ( unsigned int  _id)
pure virtual

Destroy sensor with the given id. If no sensor exists with the given id, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_idID of the sensor to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroySensorByIndex()

virtual void DestroySensorByIndex ( unsigned int  _index)
pure virtual

Destroy sensor at the given index. If no sensor exists at the given index, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_indexIndex of the sensor to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroySensorByName()

virtual void DestroySensorByName ( const std::string _name)
pure virtual

Destroy sensor with the given name. If no sensor exists with the given name, no work will be done. All children of the sensor will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_nameName of the sensor to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroySensors()

virtual void DestroySensors ( )
pure virtual

Destroy all sensors manages by this scene.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyVisual()

virtual void DestroyVisual ( VisualPtr  _node,
bool  _recursive = false 
)
pure virtual

Destroy given node. If the given node is not managed by this scene, no work will be done. Depending on the _recursive argument, this function will either detach all child nodes from the scene graph or recursively destroy them. consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_idID of the node to destroy
[in]_recursiveTrue to recursively destroy the node and its children, false to destroy only this node and detach the children

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyVisualById()

virtual void DestroyVisualById ( unsigned int  _id)
pure virtual

Destroy node with the given id. If no node exists with the given id, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_idID of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyVisualByIndex()

virtual void DestroyVisualByIndex ( unsigned int  _index)
pure virtual

Destroy node at the given index. If no node exists at the given index, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_indexIndex of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyVisualByName()

virtual void DestroyVisualByName ( const std::string _name)
pure virtual

Destroy node with the given name. If no node exists with the given name, no work will be done. All children of the node will consequently be detached from the scene graph, but not destroyed.

Parameters
[in]_nameName of the node to destroy

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ DestroyVisuals()

virtual void DestroyVisuals ( )
pure virtual

Destroy all nodes manages by this scene.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Engine()

virtual RenderEngine* Engine ( ) const
pure virtual

Get the creating render-engine of the scene.

Returns
The creating render-engine

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl(), BaseScene::CreateGpuRaysImpl(), BaseScene::CreateParticleEmitterImpl(), BaseScene::CreateThermalCameraImpl(), and Scene::~Scene().

◆ Fini()

virtual void Fini ( )
pure virtual

Implemented in Ogre2Scene, BaseScene, and OgreScene.

Referenced by Scene::~Scene().

◆ GradientBackgroundColor()

virtual std::array<math::Color, 4> GradientBackgroundColor ( ) const
pure virtual

Get the scene gradient background color.

Returns
The scene gradient background color
See also
bool IsGradientBackgroundColor() const

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasLight()

virtual bool HasLight ( ConstLightPtr  _light) const
pure virtual

Determine if the given light is managed by this Scene.

Parameters
[in]_lightLight in question
Returns
True if a light is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasLightId()

virtual bool HasLightId ( unsigned int  _id) const
pure virtual

Determine if a given light with the given id is managed by this Scene.

Parameters
[in]_idID of the light in question
Returns
True if a light is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasLightName()

virtual bool HasLightName ( const std::string _name) const
pure virtual

Determine if a given light with the given name is managed by this Scene.

Parameters
[in]_nameName of the light in question
Returns
True if a light is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasNode()

virtual bool HasNode ( ConstNodePtr  _node) const
pure virtual

Determine if the given node is managed by this Scene.

Parameters
[in]_nodeNode in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasNodeId()

virtual bool HasNodeId ( unsigned int  _id) const
pure virtual

Determine if a given node with the given id is managed by this Scene.

Parameters
[in]_idID of the node in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasNodeName()

virtual bool HasNodeName ( const std::string _name) const
pure virtual

Determine if a given node with the given name is managed by this Scene.

Parameters
[in]_nameName of the node in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasSensor()

virtual bool HasSensor ( ConstSensorPtr  _sensor) const
pure virtual

Determine if the given sensor is managed by this Scene.

Parameters
[in]_sensorSensor in question
Returns
True if a sensor is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasSensorId()

virtual bool HasSensorId ( unsigned int  _id) const
pure virtual

Determine if a given sensor with the given id is managed by this Scene.

Parameters
[in]_idID of the sensor in question
Returns
True if a sensor is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasSensorName()

virtual bool HasSensorName ( const std::string _name) const
pure virtual

Determine if a given sensor with the given name is managed by this Scene.

Parameters
[in]_nameName of the sensor in question
Returns
True if a sensor is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasVisual()

virtual bool HasVisual ( ConstVisualPtr  _node) const
pure virtual

Determine if the given node is managed by this Scene.

Parameters
[in]_nodeVisual in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasVisualId()

virtual bool HasVisualId ( unsigned int  _id) const
pure virtual

Determine if a given node with the given id is managed by this Scene.

Parameters
[in]_idID of the node in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ HasVisualName()

virtual bool HasVisualName ( const std::string _name) const
pure virtual

Determine if a given node with the given name is managed by this Scene.

Parameters
[in]_nameName of the node in question
Returns
True if a node is managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Id()

virtual unsigned int Id ( ) const
pure virtual

Get the ID of the scene.

Returns
The scene ID

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Init()

virtual void Init ( )
pure virtual

Initialize the scene.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ IsGradientBackgroundColor()

virtual bool IsGradientBackgroundColor ( ) const
pure virtual

Whether the scene has a gradient background or not (solid)

Returns
True if the scene has a gradient background or false otherwise

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ IsInitialized()

virtual bool IsInitialized ( ) const
pure virtual

Determine if the scene is initialized.

Returns
True if the scene is initialized

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ LightById()

virtual LightPtr LightById ( unsigned int  _id) const
pure virtual

Get light with the given id. If no light exists with the given id, NULL will be returned.

Parameters
[in]_idID of the desired light
Returns
The desired light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ LightByIndex()

virtual LightPtr LightByIndex ( unsigned int  _index) const
pure virtual

Get light at the given index. If no light exists at the given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired light
Returns
The desired light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ LightByName()

virtual LightPtr LightByName ( const std::string _name) const
pure virtual

Get light with the given name. If no light exists with the given name, NULL will be returned.

Parameters
[in]_nameName of the desired light
Returns
The desired light

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ LightCount()

virtual unsigned int LightCount ( ) const
pure virtual

Get the number of lights managed by this scene. Note these lights may not be directly or indirectly attached to the root light.

Returns
The number of lights managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Load()

virtual void Load ( )
pure virtual

Load scene-specific resources.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Material()

virtual MaterialPtr Material ( const std::string _name) const
pure virtual

Get material registered under the given name. If no material is registered under the given name, NULL will be returned.

Parameters
[in]_nameName of the desired material
Returns
The specified material

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ MaterialRegistered()

virtual bool MaterialRegistered ( const std::string _name) const
pure virtual

Determine if a material is registered under the given name.

Parameters
[in]_nameName of the material in question
Returns
True if a material is registered under the given name

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Name()

virtual std::string Name ( ) const
pure virtual

Get the name of the scene.

Returns
The scene name

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ NodeById()

virtual NodePtr NodeById ( unsigned int  _id) const
pure virtual

Get node with the given id. If no node exists with the given id, NULL will be returned.

Parameters
[in]_idID of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ NodeByIndex()

virtual NodePtr NodeByIndex ( unsigned int  _index) const
pure virtual

Get node at the given index. If no node exists at the given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ NodeByName()

virtual NodePtr NodeByName ( const std::string _name) const
pure virtual

Get node with the given name. If no node exists with the given name, NULL will be returned.

Parameters
[in]_nameName of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ NodeCount()

virtual unsigned int NodeCount ( ) const
pure virtual

Get the number of nodes managed by this scene. Note these nodes may not be directly or indirectly attached to the root node.

Returns
The number of nodes managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ PreRender()

virtual void PreRender ( )
pure virtual

Prepare scene for rendering. The scene will flushing any scene changes by traversing scene-graph, calling PreRender on all objects.

Implemented in BaseScene, Ogre2Scene, and OgreScene.

Referenced by Scene::~Scene().

◆ RegisterMaterial()

virtual void RegisterMaterial ( const std::string _name,
MaterialPtr  _material 
)
pure virtual

Register a new material under the given name. If the name is already in use, no work will be done.

Parameters
[in]_nameName which the material will be registered under
[in]_materialMaterial to register

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ RemoveGradientBackgroundColor()

virtual void RemoveGradientBackgroundColor ( )
pure virtual

Remove the scene gradient background color.

See also
void SetGradientBackgroundColor( const std::array<math::Color, 4> &_colors)

Implemented in BaseScene, and OgreScene.

Referenced by Scene::~Scene().

◆ RootVisual()

virtual VisualPtr RootVisual ( ) const
pure virtual

Get root Visual node. All nodes that are desired to be rendered in a scene should be added to this Visual or one of its ancestors in the scene-graph. Nodes created by this Scene will not be added to the scene by default.

Returns
The root Visual node

Implemented in Ogre2Scene, and OgreScene.

Referenced by Scene::~Scene().

◆ SensorById()

virtual SensorPtr SensorById ( unsigned int  _id) const
pure virtual

Get sensor with the given id. If no sensor exists with the given id, NULL will be returned.

Parameters
[in]_idID of the desired sensor
Returns
The desired sensor

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SensorByIndex()

virtual SensorPtr SensorByIndex ( unsigned int  _index) const
pure virtual

Get sensor at the given index. If no sensor exists at the given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired sensor
Returns
The desired sensor

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SensorByName()

virtual SensorPtr SensorByName ( const std::string _name) const
pure virtual

Get sensor with the given name. If no sensor exists with the given name, NULL will be returned.

Parameters
[in]_nameName of the desired sensor
Returns
The desired sensor

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SensorCount()

virtual unsigned int SensorCount ( ) const
pure virtual

Get the number of sensors managed by this scene. Note these sensors may not be directly or indirectly attached to the root sensor.

Returns
The number of sensors managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SetAmbientLight() [1/2]

virtual void SetAmbientLight ( double  _r,
double  _g,
double  _b,
double  _a = 1.0 
)
pure virtual

Set the scene ambient light color.

Parameters
[in]_rRed color
[in]_gGreen color
[in]_bBlue color
[in]_aAlpha color

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SetAmbientLight() [2/2]

virtual void SetAmbientLight ( const math::Color _color)
pure virtual

Set the scene ambient light color.

Parameters
[in]_colorThe scene ambient light color

Implemented in BaseScene, Ogre2Scene, and OgreScene.

◆ SetBackgroundColor() [1/2]

virtual void SetBackgroundColor ( double  _r,
double  _g,
double  _b,
double  _a = 1.0 
)
pure virtual

Set the scene background color.

Parameters
[in]_rRed color
[in]_gGreen color
[in]_bBlue color
[in]_aAlpha color

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SetBackgroundColor() [2/2]

virtual void SetBackgroundColor ( const math::Color _color)
pure virtual

Set the scene background color.

Parameters
[in]_colorThe scene background color

Implemented in BaseScene, and OgreScene.

◆ SetGradientBackgroundColor()

virtual void SetGradientBackgroundColor ( const std::array< math::Color, 4 > &  _colors)
pure virtual

Set a custom gradient background color on top of the regular background. Default should be black.

Important note: Keep in mind that this object will always be rendered on top of any existing scene or camera background.

Parameters
[in]_colorsThe scene gradient background color. Next is the description of how to interpret each value of the array: 0: Top left corner color. 1: Bottom left corner color. 2: Top right corner color. 3: Bottom right corner color.
See also
void RemoveGradientBackgroundColor()

Implemented in BaseScene, and OgreScene.

Referenced by Scene::~Scene().

◆ SetSimTime()

virtual void SetSimTime ( const common::Time _time)
pure virtual

Set the last simulation update time.

Parameters
[in]_timeLatest simulation update time

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SetTime()

virtual void SetTime ( const std::chrono::steady_clock::duration &  _time)
pure virtual

Set the last simulation update time.

Parameters
[in]_timeLatest simulation update time

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ SimTime()

virtual common::Time SimTime ( ) const
pure virtual

Get the last simulation update time.

Returns
The last simulation update time

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ Time()

virtual std::chrono::steady_clock::duration Time ( ) const
pure virtual

Get the last simulation update time.

Returns
The last simulation update time

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ UnregisterMaterial()

virtual void UnregisterMaterial ( const std::string _name)
pure virtual

Unregister material registered under the given name. If no material is registered under this name, no work will be done.

Parameters
[in]_nameName of the material to unregistered

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ UnregisterMaterials()

virtual void UnregisterMaterials ( )
pure virtual

Unregister all registered materials.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ VisualAt()

virtual VisualPtr VisualAt ( const CameraPtr _camera,
const math::Vector2i _mousePos 
)
pure virtual

Get a visual at a mouse position.

Parameters
[in]_cameraCamera pointer being used
[in]_mousePosposition of the mouse in pixels
Returns
Pointer to the visual, NULL if none found.

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ VisualById()

virtual VisualPtr VisualById ( unsigned int  _id) const
pure virtual

Get node with the given id. If no node exists with the given id, NULL will be returned.

Parameters
[in]_idID of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ VisualByIndex()

virtual VisualPtr VisualByIndex ( unsigned int  _index) const
pure virtual

Get node at the given index. If no node exists at the given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ VisualByName()

virtual VisualPtr VisualByName ( const std::string _name) const
pure virtual

Get node with the given name. If no node exists with the given name, NULL will be returned.

Parameters
[in]_nameName of the desired node
Returns
The desired node

Implemented in BaseScene.

Referenced by Scene::~Scene().

◆ VisualCount()

virtual unsigned int VisualCount ( ) const
pure virtual

Get the number of nodes managed by this scene. Note these nodes may not be directly or indirectly attached to the root node.

Returns
The number of nodes managed by this scene

Implemented in BaseScene.

Referenced by Scene::~Scene().


The documentation for this class was generated from the following file: