Ignition Rendering

API Reference

4.1.0

#include <BaseScene.hh>

Public Member Functions

virtual ~BaseScene ()
 
virtual math::Color BackgroundColor () const override
 Get the scene background color. More...
 
virtual void Clear () override
 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 () override
 Create new arrow visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual ArrowVisualPtr CreateArrowVisual (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new axis visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual AxisVisualPtr CreateAxisVisual (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new box geometry. More...
 
virtual CameraPtr CreateCamera () override
 Create new camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual CameraPtr CreateCamera (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new cone geometry. More...
 
virtual GeometryPtr CreateCylinder () override
 Create new cylinder geometry. More...
 
virtual DepthCameraPtr CreateDepthCamera () override
 Create new depth camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual DepthCameraPtr CreateDepthCamera (const unsigned int _id) override
 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) override
 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 (const unsigned int _id, const std::string &_name) override
 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 () override
 Create new directional light. A unique ID and name will automatically be assigned to the light. More...
 
virtual DirectionalLightPtr CreateDirectionalLight (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new gizmo visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual GizmoVisualPtr CreateGizmoVisual (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new gpu rays caster. A unique ID and name will automatically be assigned to the gpu rays caster. More...
 
virtual GpuRaysPtr CreateGpuRays (const unsigned int _id) override
 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) override
 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 (const unsigned int _id, const std::string &_name) override
 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 () override
 Create new grid geometry. More...
 
virtual LidarVisualPtr CreateLidarVisual () override
 Create new lidar visual. A unique ID and name will automatically be assigned to the lidar visual. More...
 
virtual LidarVisualPtr CreateLidarVisual (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new marker geometry. More...
 
virtual MaterialPtr CreateMaterial (const std::string &_name="") override
 Create new material with the given name. Created material will have default properties. More...
 
virtual MaterialPtr CreateMaterial (const common::Material &_material) override
 Create new material from the reference common::Material. More...
 
virtual MeshPtr CreateMesh (const std::string &_meshName) override
 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) override
 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) override
 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 () override
 Create new particle emitter. A unique ID and name will automatically be assigned to the visual. More...
 
virtual ParticleEmitterPtr CreateParticleEmitter (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new plane geometry. More...
 
virtual PointLightPtr CreatePointLight () override
 Create new point light. A unique ID and name will automatically be assigned to the light. More...
 
virtual PointLightPtr CreatePointLight (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new ray query. More...
 
virtual RenderTexturePtr CreateRenderTexture () override
 Create new render texture. More...
 
virtual RenderWindowPtr CreateRenderWindow () override
 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 () override
 Create new sphere geometry. More...
 
virtual SpotLightPtr CreateSpotLight () override
 Create new spotlight. A unique ID and name will automatically be assigned to the light. More...
 
virtual SpotLightPtr CreateSpotLight (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new text geometry. More...
 
virtual ThermalCameraPtr CreateThermalCamera () override
 Create new thermal camera. A unique ID and name will automatically be assigned to the camera. More...
 
virtual ThermalCameraPtr CreateThermalCamera (const unsigned int _id) override
 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) override
 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 (const unsigned int _id, const std::string &_name) override
 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 () override
 Create new visual. A unique ID and name will automatically be assigned to the visual. More...
 
virtual VisualPtr CreateVisual (unsigned int _id) override
 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) override
 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) override
 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 () override
 Create new wire box geometry. More...
 
virtual void Destroy () override
 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) override
 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) override
 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) override
 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) override
 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 () override
 Destroy all lights manages by this scene. More...
 
virtual void DestroyMaterial (MaterialPtr _material) override
 Unregister and destroy a material. More...
 
virtual void DestroyMaterials () override
 Unregister and destroys all registered materials. More...
 
virtual void DestroyNode (NodePtr _node, bool _recursive=false) override
 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) override
 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) override
 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) override
 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 () override
 Destroy all nodes manages by this scene. More...
 
virtual void DestroySensor (SensorPtr _sensor, bool _recursive=false) override
 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) override
 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) override
 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) override
 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 () override
 Destroy all sensors manages by this scene. More...
 
virtual void DestroyVisual (VisualPtr _visual, bool _recursive=false) override
 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) override
 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) override
 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) override
 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 () override
 Destroy all nodes manages by this scene. More...
 
virtual void Fini () override
 
virtual std::array< math::Color, 4 > GradientBackgroundColor () const override
 Get the scene gradient background color. More...
 
virtual bool HasLight (ConstLightPtr _light) const override
 Determine if the given light is managed by this Scene. More...
 
virtual bool HasLightId (unsigned int _id) const override
 Determine if a given light with the given id is managed by this Scene. More...
 
virtual bool HasLightName (const std::string &_name) const override
 Determine if a given light with the given name is managed by this Scene. More...
 
virtual bool HasNode (ConstNodePtr _node) const override
 Determine if the given node is managed by this Scene. More...
 
virtual bool HasNodeId (unsigned int _id) const override
 Determine if a given node with the given id is managed by this Scene. More...
 
virtual bool HasNodeName (const std::string &_name) const override
 Determine if a given node with the given name is managed by this Scene. More...
 
virtual bool HasSensor (ConstSensorPtr _sensor) const override
 Determine if the given sensor is managed by this Scene. More...
 
virtual bool HasSensorId (unsigned int _id) const override
 Determine if a given sensor with the given id is managed by this Scene. More...
 
virtual bool HasSensorName (const std::string &_name) const override
 Determine if a given sensor with the given name is managed by this Scene. More...
 
virtual bool HasVisual (ConstVisualPtr _visual) const override
 Determine if the given node is managed by this Scene. More...
 
virtual bool HasVisualId (unsigned int _id) const override
 Determine if a given node with the given id is managed by this Scene. More...
 
virtual bool HasVisualName (const std::string &_name) const override
 Determine if a given node with the given name is managed by this Scene. More...
 
virtual unsigned int Id () const override
 Get the ID of the scene. More...
 
virtual void Init () override
 Initialize the scene. More...
 
virtual bool IsGradientBackgroundColor () const override
 Whether the scene has a gradient background or not (solid) More...
 
virtual bool IsInitialized () const override
 Determine if the scene is initialized. More...
 
virtual bool IsLoaded () const
 
virtual LightPtr LightById (unsigned int _id) const override
 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 override
 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 override
 Get light with the given name. If no light exists with the given name, NULL will be returned. More...
 
virtual unsigned int LightCount () const override
 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 () override
 Load scene-specific resources. More...
 
virtual MaterialPtr Material (const std::string &_name) const override
 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 override
 Determine if a material is registered under the given name. More...
 
virtual std::string Name () const override
 Get the name of the scene. More...
 
virtual NodePtr NodeById (unsigned int _id) const override
 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 override
 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 override
 Get node with the given name. If no node exists with the given name, NULL will be returned. More...
 
virtual unsigned int NodeCount () const override
 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 () override
 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) override
 Register a new material under the given name. If the name is already in use, no work will be done. More...
 
virtual void RemoveGradientBackgroundColor () override
 Remove the scene gradient background color. More...
 
virtual SensorPtr SensorById (unsigned int _id) const override
 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 override
 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 override
 Get sensor with the given name. If no sensor exists with the given name, NULL will be returned. More...
 
virtual unsigned int SensorCount () const override
 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) override
 Set the scene ambient light color. More...
 
virtual void SetAmbientLight (const math::Color &_color) override=0
 Set the scene ambient light color. More...
 
virtual void SetBackgroundColor (double _r, double _g, double _b, double _a=1.0) override
 Set the scene background color. More...
 
virtual void SetBackgroundColor (const math::Color &_color) override
 Set the scene background color. More...
 
virtual void SetGradientBackgroundColor (const std::array< math::Color, 4 > &_colors) override
 Set a custom gradient background color on top of the regular background. Default should be black. More...
 
virtual void SetSimTime (const common::Time &_time) override
 Set the last simulation update time. More...
 
virtual void SetTime (const std::chrono::steady_clock::duration &_time) override
 Set the last simulation update time. More...
 
virtual common::Time SimTime () const override
 Get the last simulation update time. More...
 
virtual std::chrono::steady_clock::duration Time () const override
 Get the last simulation update time. More...
 
virtual void UnregisterMaterial (const std::string &_name) override
 Unregister material registered under the given name. If no material is registered under this name, no work will be done. More...
 
virtual void UnregisterMaterials () override
 Unregister all registered materials. More...
 
virtual VisualPtr VisualAt (const CameraPtr &_camera, const ignition::math::Vector2i &_mousePos) override
 Get a visual at a mouse position. More...
 
virtual VisualPtr VisualById (unsigned int _id) const override
 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 override
 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 override
 Get node with the given name. If no node exists with the given name, NULL will be returned. More...
 
virtual unsigned int VisualCount () const override
 Get the number of nodes managed by this scene. Note these nodes may not be directly or indirectly attached to the root node. More...
 
- Public Member Functions inherited from enable_shared_from_this< BaseScene >
enable_shared_from_this (T... args)
 
~enable_shared_from_this (T... args)
 
operator= (T... args)
 
shared_from_this (T... args)
 
- Public Member Functions inherited from Scene
virtual ~Scene ()
 Deconstructor. More...
 
virtual math::Color AmbientLight () const =0
 Get the scene ambient light color. More...
 
virtual RenderEngineEngine () const =0
 Get the creating render-engine of the scene. 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...
 

Protected Member Functions

 BaseScene (unsigned int _id, const std::string &_name)
 
virtual ArrowVisualPtr CreateArrowVisualImpl (unsigned int _id, const std::string &_name)=0
 
virtual AxisVisualPtr CreateAxisVisualImpl (unsigned int _id, const std::string &_name)=0
 
virtual GeometryPtr CreateBoxImpl (unsigned int _id, const std::string &_name)=0
 
virtual CameraPtr CreateCameraImpl (unsigned int _id, const std::string &_name)=0
 
virtual GeometryPtr CreateConeImpl (unsigned int _id, const std::string &_name)=0
 
virtual GeometryPtr CreateCylinderImpl (unsigned int _id, const std::string &_name)=0
 
virtual DepthCameraPtr CreateDepthCameraImpl (unsigned int _id, const std::string &_name)=0
 
virtual DirectionalLightPtr CreateDirectionalLightImpl (unsigned int _id, const std::string &_name)=0
 
virtual GizmoVisualPtr CreateGizmoVisualImpl (unsigned int, const std::string &)
 Implementation for creating a GizmoVisual. More...
 
virtual GpuRaysPtr CreateGpuRaysImpl (unsigned int, const std::string &)
 Implementation for creating GpuRays sensor. More...
 
virtual GridPtr CreateGridImpl (unsigned int _id, const std::string &_name)=0
 Implementation for creating a grid geometry object. More...
 
virtual LidarVisualPtr CreateLidarVisualImpl (unsigned int _id, const std::string &_name)=0
 Implementation for creating a lidar visual. More...
 
virtual MarkerPtr CreateMarkerImpl (unsigned int _id, const std::string &_name)=0
 Implementation for creating a marker geometry object. More...
 
virtual MaterialPtr CreateMaterialImpl (unsigned int _id, const std::string &_name)=0
 
virtual MeshPtr CreateMeshImpl (unsigned int _id, const std::string &_name, const MeshDescriptor &_desc)=0
 
virtual unsigned int CreateObjectId ()
 
virtual std::string CreateObjectName (unsigned int _id, const std::string &_prefix)
 
virtual ParticleEmitterPtr CreateParticleEmitterImpl (unsigned int, const std::string &)
 Implementation for creating a ParticleEmitter. More...
 
virtual GeometryPtr CreatePlaneImpl (unsigned int _id, const std::string &_name)=0
 
virtual PointLightPtr CreatePointLightImpl (unsigned int _id, const std::string &_name)=0
 
virtual RayQueryPtr CreateRayQueryImpl (unsigned int _id, const std::string &_name)=0
 
virtual RenderTexturePtr CreateRenderTextureImpl (unsigned int _id, const std::string &_name)=0
 
virtual RenderWindowPtr CreateRenderWindowImpl (unsigned int _id, const std::string &_name)=0
 Render engine specific implementation for creating a render window. More...
 
virtual GeometryPtr CreateSphereImpl (unsigned int _id, const std::string &_name)=0
 
virtual SpotLightPtr CreateSpotLightImpl (unsigned int _id, const std::string &_name)=0
 
virtual TextPtr CreateTextImpl (unsigned int _id, const std::string &_name)
 Implementation for creating a text's geometry object. More...
 
virtual ThermalCameraPtr CreateThermalCameraImpl (unsigned int, const std::string &)
 Implementation for creating a thermal camera. More...
 
virtual VisualPtr CreateVisualImpl (unsigned int _id, const std::string &_name)=0
 
virtual WireBoxPtr CreateWireBoxImpl (unsigned int _id, const std::string &_name)=0
 Implementation for creating a wire box geometry. More...
 
virtual bool InitImpl ()=0
 
virtual LightStorePtr Lights () const =0
 
virtual bool LoadImpl ()=0
 
virtual MaterialMapPtr Materials () const =0
 
virtual bool RegisterLight (LightPtr _light)
 
virtual bool RegisterSensor (SensorPtr _vensor)
 
virtual bool RegisterVisual (VisualPtr _visual)
 
virtual SensorStorePtr Sensors () const =0
 
virtual VisualStorePtr Visuals () const =0
 

Protected Attributes

math::Color backgroundColor
 Scene background color. Default should be black. More...
 
std::array< math::Color, 4 > gradientBackgroundColor
 The four corners of the 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. Default should be black. More...
 
unsigned int id
 
bool initialized
 
bool isGradientBackgroundColor = false
 Whether the scene has a gradient background. More...
 
bool loaded
 
std::string name
 
common::Time simTime
 
std::chrono::steady_clock::duration time
 

Constructor & Destructor Documentation

◆ BaseScene()

BaseScene ( unsigned int  _id,
const std::string _name 
)
protected

◆ ~BaseScene()

virtual ~BaseScene ( )
virtual

Member Function Documentation

◆ BackgroundColor()

virtual math::Color BackgroundColor ( ) const
overridevirtual

Get the scene background color.

Returns
The scene background color

Implements Scene.

◆ Clear()

virtual void Clear ( )
overridevirtual

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.

Implements Scene.

Reimplemented in Ogre2Scene, and OgreScene.

◆ CreateArrowVisual() [1/4]

virtual ArrowVisualPtr CreateArrowVisual ( )
overridevirtual

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

Returns
The created arrow visual

Implements Scene.

◆ CreateArrowVisual() [2/4]

virtual ArrowVisualPtr CreateArrowVisual ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateArrowVisual() [3/4]

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

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

Implements Scene.

◆ CreateArrowVisual() [4/4]

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

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

Implements Scene.

◆ CreateArrowVisualImpl()

virtual ArrowVisualPtr CreateArrowVisualImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGpuRaysImpl().

◆ CreateAxisVisual() [1/4]

virtual AxisVisualPtr CreateAxisVisual ( )
overridevirtual

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

Returns
The created axis visual

Implements Scene.

◆ CreateAxisVisual() [2/4]

virtual AxisVisualPtr CreateAxisVisual ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateAxisVisual() [3/4]

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

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

Implements Scene.

◆ CreateAxisVisual() [4/4]

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

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

Implements Scene.

◆ CreateAxisVisualImpl()

virtual AxisVisualPtr CreateAxisVisualImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGpuRaysImpl().

◆ CreateBox()

virtual GeometryPtr CreateBox ( )
overridevirtual

Create new box geometry.

Returns
The created box

Implements Scene.

◆ CreateBoxImpl()

virtual GeometryPtr CreateBoxImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateCamera() [1/4]

virtual CameraPtr CreateCamera ( )
overridevirtual

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

Returns
The created camera

Implements Scene.

◆ CreateCamera() [2/4]

virtual CameraPtr CreateCamera ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateCamera() [3/4]

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

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

Implements Scene.

◆ CreateCamera() [4/4]

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

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

Implements Scene.

◆ CreateCameraImpl()

virtual CameraPtr CreateCameraImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

◆ CreateCone()

virtual GeometryPtr CreateCone ( )
overridevirtual

Create new cone geometry.

Returns
The created cone

Implements Scene.

◆ CreateConeImpl()

virtual GeometryPtr CreateConeImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateCylinder()

virtual GeometryPtr CreateCylinder ( )
overridevirtual

Create new cylinder geometry.

Returns
The created cylinder

Implements Scene.

◆ CreateCylinderImpl()

virtual GeometryPtr CreateCylinderImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateDepthCamera() [1/4]

virtual DepthCameraPtr CreateDepthCamera ( )
overridevirtual

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

Returns
The created camera

Implements Scene.

◆ CreateDepthCamera() [2/4]

virtual DepthCameraPtr CreateDepthCamera ( const unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateDepthCamera() [3/4]

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

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

Implements Scene.

◆ CreateDepthCamera() [4/4]

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

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

Implements Scene.

◆ CreateDepthCameraImpl()

virtual DepthCameraPtr CreateDepthCameraImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

◆ CreateDirectionalLight() [1/4]

virtual DirectionalLightPtr CreateDirectionalLight ( )
overridevirtual

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

Returns
The created light

Implements Scene.

◆ CreateDirectionalLight() [2/4]

virtual DirectionalLightPtr CreateDirectionalLight ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateDirectionalLight() [3/4]

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

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

Implements Scene.

◆ CreateDirectionalLight() [4/4]

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

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

Implements Scene.

◆ CreateDirectionalLightImpl()

virtual DirectionalLightPtr CreateDirectionalLightImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

◆ CreateGizmoVisual() [1/4]

virtual GizmoVisualPtr CreateGizmoVisual ( )
overridevirtual

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

Returns
The created gizmo visual

Implements Scene.

◆ CreateGizmoVisual() [2/4]

virtual GizmoVisualPtr CreateGizmoVisual ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateGizmoVisual() [3/4]

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

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

Implements Scene.

◆ CreateGizmoVisual() [4/4]

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

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

Implements Scene.

◆ CreateGizmoVisualImpl()

◆ CreateGpuRays() [1/4]

virtual GpuRaysPtr CreateGpuRays ( )
overridevirtual

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

Implements Scene.

◆ CreateGpuRays() [2/4]

virtual GpuRaysPtr CreateGpuRays ( const unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateGpuRays() [3/4]

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

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

Implements Scene.

◆ CreateGpuRays() [4/4]

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

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

Implements Scene.

◆ CreateGpuRaysImpl()

virtual GpuRaysPtr CreateGpuRaysImpl ( unsigned int  ,
const std::string  
)
inlineprotectedvirtual

Implementation for creating GpuRays sensor.

Parameters
[in]_idUnique id
[in]_nameName of GpuRays sensor

Reimplemented in Ogre2Scene, and OgreScene.

References BaseScene::CreateArrowVisualImpl(), BaseScene::CreateAxisVisualImpl(), BaseScene::CreateVisualImpl(), std::endl(), Scene::Engine(), ignerr, and RenderEngine::Name().

◆ CreateGrid()

virtual GridPtr CreateGrid ( )
overridevirtual

Create new grid geometry.

Returns
The created grid

Implements Scene.

◆ CreateGridImpl()

virtual GridPtr CreateGridImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implementation for creating a grid geometry object.

Parameters
[in]_idunique object id.
[in]_nameunique object name.
Returns
Pointer to a grid geometry object

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateLidarVisual() [1/4]

virtual LidarVisualPtr CreateLidarVisual ( )
overridevirtual

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

Returns
The created lidar visual

Implements Scene.

◆ CreateLidarVisual() [2/4]

virtual LidarVisualPtr CreateLidarVisual ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateLidarVisual() [3/4]

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

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

Implements Scene.

◆ CreateLidarVisual() [4/4]

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

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

Implements Scene.

◆ CreateLidarVisualImpl()

virtual LidarVisualPtr CreateLidarVisualImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implementation for creating a lidar visual.

Parameters
[in]_idunique object id.
[in]_nameunique object name.
Returns
Pointer to a lidar visual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateMarker()

virtual MarkerPtr CreateMarker ( )
overridevirtual

Create new marker geometry.

Returns
The created marker

Implements Scene.

◆ CreateMarkerImpl()

virtual MarkerPtr CreateMarkerImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implementation for creating a marker geometry object.

Parameters
[in]_idunique object id.
[in]_nameunique object name.
Returns
Pointer to a marker geometry object

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateMaterial() [1/2]

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

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

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

Implements Scene.

◆ CreateMaterial() [2/2]

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

Create new material from the reference common::Material.

Parameters
[in]_materialReference material
Returns
The created material

Implements Scene.

◆ CreateMaterialImpl()

virtual MaterialPtr CreateMaterialImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateMesh() [1/3]

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

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

Implements Scene.

◆ CreateMesh() [2/3]

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

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

Implements Scene.

◆ CreateMesh() [3/3]

virtual MeshPtr CreateMesh ( const MeshDescriptor _desc)
overridevirtual

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

Implements Scene.

◆ CreateMeshImpl()

virtual MeshPtr CreateMeshImpl ( unsigned int  _id,
const std::string _name,
const MeshDescriptor _desc 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateObjectId()

virtual unsigned int CreateObjectId ( )
protectedvirtual

◆ CreateObjectName()

virtual std::string CreateObjectName ( unsigned int  _id,
const std::string _prefix 
)
protectedvirtual

◆ CreateParticleEmitter() [1/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( )
overridevirtual

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

Returns
The created particle emitter

Implements Scene.

◆ CreateParticleEmitter() [2/4]

virtual ParticleEmitterPtr CreateParticleEmitter ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateParticleEmitter() [3/4]

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

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

Implements Scene.

◆ CreateParticleEmitter() [4/4]

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

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

Implements Scene.

◆ CreateParticleEmitterImpl()

virtual ParticleEmitterPtr CreateParticleEmitterImpl ( unsigned int  ,
const std::string  
)
inlineprotectedvirtual

Implementation for creating a ParticleEmitter.

Parameters
[in]_idUnique id.
[in]_nameName of ParticleEmitter.
Returns
Pointer to the created particle emitter.

Reimplemented in Ogre2Scene, and OgreScene.

References std::endl(), Scene::Engine(), ignerr, BaseScene::InitImpl(), BaseScene::Lights(), BaseScene::LoadImpl(), BaseScene::Materials(), RenderEngine::Name(), BaseScene::Sensors(), and BaseScene::Visuals().

◆ CreatePlane()

virtual GeometryPtr CreatePlane ( )
overridevirtual

Create new plane geometry.

Returns
The created plane

Implements Scene.

◆ CreatePlaneImpl()

virtual GeometryPtr CreatePlaneImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreatePointLight() [1/4]

virtual PointLightPtr CreatePointLight ( )
overridevirtual

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

Returns
The created light

Implements Scene.

◆ CreatePointLight() [2/4]

virtual PointLightPtr CreatePointLight ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreatePointLight() [3/4]

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

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

Implements Scene.

◆ CreatePointLight() [4/4]

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

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

Implements Scene.

◆ CreatePointLightImpl()

virtual PointLightPtr CreatePointLightImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

◆ CreateRayQuery()

virtual RayQueryPtr CreateRayQuery ( )
overridevirtual

Create new ray query.

Returns
The created ray query

Implements Scene.

◆ CreateRayQueryImpl()

virtual RayQueryPtr CreateRayQueryImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateRenderTexture()

virtual RenderTexturePtr CreateRenderTexture ( )
overridevirtual

Create new render texture.

Returns
The created render texture

Implements Scene.

◆ CreateRenderTextureImpl()

virtual RenderTexturePtr CreateRenderTextureImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateRenderWindow()

virtual RenderWindowPtr CreateRenderWindow ( )
overridevirtual

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

Implements Scene.

◆ CreateRenderWindowImpl()

virtual RenderWindowPtr CreateRenderWindowImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Render engine specific implementation for creating a render window.

Parameters
[in]_idunique object id
[in]_nameobject name
Returns
Pointer to the created render window.

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateSphere()

virtual GeometryPtr CreateSphere ( )
overridevirtual

Create new sphere geometry.

Returns
The created sphere

Implements Scene.

◆ CreateSphereImpl()

virtual GeometryPtr CreateSphereImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateSpotLight() [1/4]

virtual SpotLightPtr CreateSpotLight ( )
overridevirtual

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

Returns
The created light

Implements Scene.

◆ CreateSpotLight() [2/4]

virtual SpotLightPtr CreateSpotLight ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateSpotLight() [3/4]

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

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

Implements Scene.

◆ CreateSpotLight() [4/4]

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

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

Implements Scene.

◆ CreateSpotLightImpl()

virtual SpotLightPtr CreateSpotLightImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

◆ CreateText()

virtual TextPtr CreateText ( )
overridevirtual

Create new text geometry.

Returns
The created text

Implements Scene.

◆ CreateTextImpl()

virtual TextPtr CreateTextImpl ( unsigned int  _id,
const std::string _name 
)
protectedvirtual

Implementation for creating a text's geometry object.

Parameters
[in]_idunique object id.
[in]_nameunique object name.
Returns
Pointer to a text geometry object

Reimplemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ CreateThermalCamera() [1/4]

virtual ThermalCameraPtr CreateThermalCamera ( )
overridevirtual

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

Returns
The created camera

Implements Scene.

◆ CreateThermalCamera() [2/4]

virtual ThermalCameraPtr CreateThermalCamera ( const unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateThermalCamera() [3/4]

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

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

Implements Scene.

◆ CreateThermalCamera() [4/4]

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

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

Implements Scene.

◆ CreateThermalCameraImpl()

virtual ThermalCameraPtr CreateThermalCameraImpl ( unsigned int  ,
const std::string  
)
inlineprotectedvirtual

Implementation for creating a thermal camera.

Parameters
[in]_idUnique id
[in]_nameName of thermal camera

Reimplemented in Ogre2Scene, and OgreScene.

References std::endl(), Scene::Engine(), ignerr, and RenderEngine::Name().

◆ CreateVisual() [1/4]

virtual VisualPtr CreateVisual ( )
overridevirtual

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

Returns
The created visual

Implements Scene.

◆ CreateVisual() [2/4]

virtual VisualPtr CreateVisual ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ CreateVisual() [3/4]

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

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

Implements Scene.

◆ CreateVisual() [4/4]

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

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

Implements Scene.

◆ CreateVisualImpl()

virtual VisualPtr CreateVisualImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGpuRaysImpl().

◆ CreateWireBox()

virtual WireBoxPtr CreateWireBox ( )
overridevirtual

Create new wire box geometry.

Returns
The created wire box

Implements Scene.

◆ CreateWireBoxImpl()

virtual WireBoxPtr CreateWireBoxImpl ( unsigned int  _id,
const std::string _name 
)
protectedpure virtual

Implementation for creating a wire box geometry.

Parameters
[in]_idunique object id.
[in]_nameunique object name.
Returns
Pointer to a wire box geometry object

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateGizmoVisualImpl().

◆ Destroy()

virtual void Destroy ( )
overridevirtual

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

Implements Scene.

Reimplemented in Ogre2Scene, and OgreScene.

◆ DestroyLight()

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

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

Implements Scene.

◆ DestroyLightById()

virtual void DestroyLightById ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ DestroyLightByIndex()

virtual void DestroyLightByIndex ( unsigned int  _index)
overridevirtual

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

Implements Scene.

◆ DestroyLightByName()

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

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

Implements Scene.

◆ DestroyLights()

virtual void DestroyLights ( )
overridevirtual

Destroy all lights manages by this scene.

Implements Scene.

◆ DestroyMaterial()

virtual void DestroyMaterial ( MaterialPtr  _material)
overridevirtual

Unregister and destroy a material.

Parameters
[in]_materialMaterial to be unregistered and destroyed

Implements Scene.

◆ DestroyMaterials()

virtual void DestroyMaterials ( )
overridevirtual

Unregister and destroys all registered materials.

Implements Scene.

◆ DestroyNode()

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

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

Implements Scene.

◆ DestroyNodeById()

virtual void DestroyNodeById ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ DestroyNodeByIndex()

virtual void DestroyNodeByIndex ( unsigned int  _index)
overridevirtual

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

Implements Scene.

◆ DestroyNodeByName()

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

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

Implements Scene.

◆ DestroyNodes()

virtual void DestroyNodes ( )
overridevirtual

Destroy all nodes manages by this scene.

Implements Scene.

◆ DestroySensor()

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

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

Implements Scene.

◆ DestroySensorById()

virtual void DestroySensorById ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ DestroySensorByIndex()

virtual void DestroySensorByIndex ( unsigned int  _index)
overridevirtual

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

Implements Scene.

◆ DestroySensorByName()

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

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

Implements Scene.

◆ DestroySensors()

virtual void DestroySensors ( )
overridevirtual

Destroy all sensors manages by this scene.

Implements Scene.

◆ DestroyVisual()

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

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

Implements Scene.

◆ DestroyVisualById()

virtual void DestroyVisualById ( unsigned int  _id)
overridevirtual

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

Implements Scene.

◆ DestroyVisualByIndex()

virtual void DestroyVisualByIndex ( unsigned int  _index)
overridevirtual

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

Implements Scene.

◆ DestroyVisualByName()

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

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

Implements Scene.

◆ DestroyVisuals()

virtual void DestroyVisuals ( )
overridevirtual

Destroy all nodes manages by this scene.

Implements Scene.

◆ Fini()

virtual void Fini ( )
overridevirtual

Implements Scene.

Reimplemented in Ogre2Scene, and OgreScene.

◆ GradientBackgroundColor()

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

Get the scene gradient background color.

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

Implements Scene.

◆ HasLight()

virtual bool HasLight ( ConstLightPtr  _light) const
overridevirtual

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

Implements Scene.

◆ HasLightId()

virtual bool HasLightId ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ HasLightName()

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

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

Implements Scene.

◆ HasNode()

virtual bool HasNode ( ConstNodePtr  _node) const
overridevirtual

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

Implements Scene.

◆ HasNodeId()

virtual bool HasNodeId ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ HasNodeName()

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

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

Implements Scene.

◆ HasSensor()

virtual bool HasSensor ( ConstSensorPtr  _sensor) const
overridevirtual

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

Implements Scene.

◆ HasSensorId()

virtual bool HasSensorId ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ HasSensorName()

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

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

Implements Scene.

◆ HasVisual()

virtual bool HasVisual ( ConstVisualPtr  _node) const
overridevirtual

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

Implements Scene.

◆ HasVisualId()

virtual bool HasVisualId ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ HasVisualName()

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

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

Implements Scene.

◆ Id()

virtual unsigned int Id ( ) const
overridevirtual

Get the ID of the scene.

Returns
The scene ID

Implements Scene.

◆ Init()

virtual void Init ( )
overridevirtual

Initialize the scene.

Implements Scene.

◆ InitImpl()

virtual bool InitImpl ( )
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

◆ IsGradientBackgroundColor()

virtual bool IsGradientBackgroundColor ( ) const
overridevirtual

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

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

Implements Scene.

◆ IsInitialized()

virtual bool IsInitialized ( ) const
overridevirtual

Determine if the scene is initialized.

Returns
True if the scene is initialized

Implements Scene.

◆ IsLoaded()

virtual bool IsLoaded ( ) const
virtual

◆ LightById()

virtual LightPtr LightById ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ LightByIndex()

virtual LightPtr LightByIndex ( unsigned int  _index) const
overridevirtual

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

Implements Scene.

◆ LightByName()

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

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

Implements Scene.

◆ LightCount()

virtual unsigned int LightCount ( ) const
overridevirtual

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

Implements Scene.

◆ Lights()

virtual LightStorePtr Lights ( ) const
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

◆ Load()

virtual void Load ( )
overridevirtual

Load scene-specific resources.

Implements Scene.

◆ LoadImpl()

virtual bool LoadImpl ( )
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

◆ Material()

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

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

Implements Scene.

◆ MaterialRegistered()

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

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

Implements Scene.

◆ Materials()

virtual MaterialMapPtr Materials ( ) const
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

◆ Name()

virtual std::string Name ( ) const
overridevirtual

Get the name of the scene.

Returns
The scene name

Implements Scene.

◆ NodeById()

virtual NodePtr NodeById ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ NodeByIndex()

virtual NodePtr NodeByIndex ( unsigned int  _index) const
overridevirtual

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

Implements Scene.

◆ NodeByName()

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

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

Implements Scene.

◆ NodeCount()

virtual unsigned int NodeCount ( ) const
overridevirtual

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

Implements Scene.

◆ PreRender()

virtual void PreRender ( )
overridevirtual

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

Implements Scene.

Reimplemented in Ogre2Scene, and OgreScene.

◆ RegisterLight()

virtual bool RegisterLight ( LightPtr  _light)
protectedvirtual

◆ RegisterMaterial()

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

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

Implements Scene.

◆ RegisterSensor()

virtual bool RegisterSensor ( SensorPtr  _vensor)
protectedvirtual

◆ RegisterVisual()

virtual bool RegisterVisual ( VisualPtr  _visual)
protectedvirtual

◆ RemoveGradientBackgroundColor()

virtual void RemoveGradientBackgroundColor ( )
overridevirtual

Remove the scene gradient background color.

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

Implements Scene.

Reimplemented in OgreScene.

◆ SensorById()

virtual SensorPtr SensorById ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ SensorByIndex()

virtual SensorPtr SensorByIndex ( unsigned int  _index) const
overridevirtual

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

Implements Scene.

◆ SensorByName()

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

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

Implements Scene.

◆ SensorCount()

virtual unsigned int SensorCount ( ) const
overridevirtual

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

Implements Scene.

◆ Sensors()

virtual SensorStorePtr Sensors ( ) const
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

◆ SetAmbientLight() [1/2]

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

Set the scene ambient light color.

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

Implements Scene.

◆ SetAmbientLight() [2/2]

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

Set the scene ambient light color.

Parameters
[in]_colorThe scene ambient light color

Implements Scene.

Implemented in Ogre2Scene, and OgreScene.

◆ SetBackgroundColor() [1/2]

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

Set the scene background color.

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

Implements Scene.

◆ SetBackgroundColor() [2/2]

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

Set the scene background color.

Parameters
[in]_colorThe scene background color

Implements Scene.

Reimplemented in OgreScene.

◆ SetGradientBackgroundColor()

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

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()

Implements Scene.

Reimplemented in OgreScene.

◆ SetSimTime()

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

Set the last simulation update time.

Parameters
[in]_timeLatest simulation update time

Implements Scene.

◆ SetTime()

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

Set the last simulation update time.

Parameters
[in]_timeLatest simulation update time

Implements Scene.

◆ SimTime()

virtual common::Time SimTime ( ) const
overridevirtual

Get the last simulation update time.

Returns
The last simulation update time

Implements Scene.

◆ Time()

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

Get the last simulation update time.

Returns
The last simulation update time

Implements Scene.

◆ UnregisterMaterial()

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

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

Implements Scene.

◆ UnregisterMaterials()

virtual void UnregisterMaterials ( )
overridevirtual

Unregister all registered materials.

Implements Scene.

◆ VisualAt()

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

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.

Implements Scene.

◆ VisualById()

virtual VisualPtr VisualById ( unsigned int  _id) const
overridevirtual

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

Implements Scene.

◆ VisualByIndex()

virtual VisualPtr VisualByIndex ( unsigned int  _index) const
overridevirtual

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

Implements Scene.

◆ VisualByName()

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

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

Implements Scene.

◆ VisualCount()

virtual unsigned int VisualCount ( ) const
overridevirtual

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

Implements Scene.

◆ Visuals()

virtual VisualStorePtr Visuals ( ) const
protectedpure virtual

Implemented in Ogre2Scene, and OgreScene.

Referenced by BaseScene::CreateParticleEmitterImpl().

Member Data Documentation

◆ backgroundColor

math::Color backgroundColor
protected

Scene background color. Default should be black.

◆ gradientBackgroundColor

std::array<math::Color, 4> gradientBackgroundColor
protected

The four corners of the 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. Default should be black.

◆ id

unsigned int id
protected

◆ initialized

bool initialized
protected

◆ isGradientBackgroundColor

bool isGradientBackgroundColor = false
protected

Whether the scene has a gradient background.

◆ loaded

bool loaded
protected

◆ name

std::string name
protected

◆ simTime

common::Time simTime
protected

◆ time

std::chrono::steady_clock::duration time
protected
Initial value:
=
std::chrono::steady_clock::duration::zero()

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