Ignition Rendering

API Reference

4.0.0

Ogre2.x implementation of the scene class. More...

#include <Ogre2Scene.hh>

Public Member Functions

virtual ~Ogre2Scene ()
 Destructor. More...
 
virtual math::Color AmbientLight () const override
 Get the scene ambient light 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 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 RenderEngineEngine () const override
 Get the creating render-engine of the scene. More...
 
virtual void Fini () override
 
virtual Ogre::SceneManager * OgreSceneManager () const
 Get a pointer to the ogre scene manager. 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 VisualPtr RootVisual () const override
 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 void SetAmbientLight (const math::Color &_color) override
 Set the scene ambient light color. More...
 
- Public Member Functions inherited from BaseScene
virtual ~BaseScene ()
 
virtual math::Color BackgroundColor () const override
 Get the scene background color. 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 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 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 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 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...
 

Protected Member Functions

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

Protected Attributes

Ogre2LightStorePtr lights
 A list of ogre lights. More...
 
Ogre2MaterialMapPtr materials
 A list of ogre materials. More...
 
Ogre2MeshFactoryPtr meshFactory
 Mesh factory for generating ogre meshes. More...
 
Ogre::SceneManager * ogreSceneManager = nullptr
 Pointer to the ogre scene manager. More...
 
Ogre2VisualPtr rootVisual
 Root visual in the scene. More...
 
Ogre2SensorStorePtr sensors
 A list of ogre sensors, e.g. cameras. More...
 
Ogre2VisualStorePtr visuals
 A list of ogre visuals. More...
 
- Protected Attributes inherited from BaseScene
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
 

Detailed Description

Ogre2.x implementation of the scene class.

Constructor & Destructor Documentation

◆ Ogre2Scene()

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

Constructor.

Parameters
[in]_idUnique scene Id
[in]_nameScene name

◆ ~Ogre2Scene()

virtual ~Ogre2Scene ( )
virtual

Destructor.

Member Function Documentation

◆ AmbientLight()

virtual math::Color AmbientLight ( ) const
overridevirtual

Get the scene ambient light color.

Returns
The scene ambient light 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.

Reimplemented from BaseScene.

◆ CreateArrowVisualImpl()

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

Implements BaseScene.

◆ CreateAxisVisualImpl()

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

Implements BaseScene.

◆ CreateBoxImpl()

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

Implements BaseScene.

◆ CreateCameraImpl()

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

Implements BaseScene.

◆ CreateConeImpl()

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

Implements BaseScene.

◆ CreateCylinderImpl()

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

Implements BaseScene.

◆ CreateDepthCameraImpl()

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

Implements BaseScene.

◆ CreateDirectionalLightImpl()

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

Implements BaseScene.

◆ CreateGizmoVisualImpl()

virtual GizmoVisualPtr CreateGizmoVisualImpl ( unsigned int  ,
const std::string  
)
overrideprotectedvirtual

Implementation for creating a GizmoVisual.

Parameters
[in]_idUnique id
[in]_nameName of GizmoVisual

Reimplemented from BaseScene.

◆ CreateGpuRaysImpl()

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

Implementation for creating GpuRays sensor.

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

Reimplemented from BaseScene.

◆ CreateGridImpl()

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

Implementation for creating a grid geometry object.

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

Implements BaseScene.

◆ CreateLidarVisualImpl()

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

Implementation for creating a lidar visual.

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

Implements BaseScene.

◆ CreateMarkerImpl()

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

Implementation for creating a marker geometry object.

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

Implements BaseScene.

◆ CreateMaterialImpl()

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

Implements BaseScene.

◆ CreateMeshImpl() [1/2]

virtual MeshPtr CreateMeshImpl ( unsigned int  _id,
const std::string _name,
const std::string _meshName 
)
protectedvirtual

Create a mesh object based on its name.

Parameters
[in]_idUnique Id to assign to the mesh
[in]_nameName to assign to the mesh
[in]_meshNameName of the mesh to create

◆ CreateMeshImpl() [2/2]

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

Implements BaseScene.

◆ CreateParticleEmitterImpl()

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

Implementation for creating a ParticleEmitter.

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

Reimplemented from BaseScene.

◆ CreatePlaneImpl()

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

Implements BaseScene.

◆ CreatePointLightImpl()

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

Implements BaseScene.

◆ CreateRayQueryImpl()

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

Implements BaseScene.

◆ CreateRenderTextureImpl()

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

Implements BaseScene.

◆ CreateRenderWindowImpl()

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

Render engine specific implementation for creating a render window.

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

Implements BaseScene.

◆ CreateSphereImpl()

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

Implements BaseScene.

◆ CreateSpotLightImpl()

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

Implements BaseScene.

◆ CreateTextImpl()

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

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 from BaseScene.

◆ CreateThermalCameraImpl()

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

Implementation for creating a thermal camera.

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

Reimplemented from BaseScene.

◆ CreateVisualImpl()

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

Implements BaseScene.

◆ CreateWireBoxImpl()

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

Implementation for creating a wire box geometry.

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

Implements BaseScene.

◆ 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.

Reimplemented from BaseScene.

◆ Engine()

virtual RenderEngine* Engine ( ) const
overridevirtual

Get the creating render-engine of the scene.

Returns
The creating render-engine

Implements Scene.

◆ Fini()

virtual void Fini ( )
overridevirtual

Reimplemented from BaseScene.

◆ InitImpl()

virtual bool InitImpl ( )
overrideprotectedvirtual

Implements BaseScene.

◆ InitObject()

virtual bool InitObject ( Ogre2ObjectPtr  _object,
unsigned int  _id,
const std::string _name 
)
protectedvirtual

Helper function to initialize an ogre2 object.

Parameters
[in]_objectOgre2 object that will be initialized
[in]_idUnique Id to assign to the object
[in]_nameName to assign to the object

◆ Lights()

virtual LightStorePtr Lights ( ) const
overrideprotectedvirtual

Implements BaseScene.

◆ LoadImpl()

virtual bool LoadImpl ( )
overrideprotectedvirtual

Implements BaseScene.

◆ Materials()

virtual MaterialMapPtr Materials ( ) const
overrideprotectedvirtual

Implements BaseScene.

◆ OgreSceneManager()

virtual Ogre::SceneManager* OgreSceneManager ( ) const
virtual

Get a pointer to the ogre scene manager.

Returns
Pointer to the ogre scene manager

◆ 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.

Reimplemented from BaseScene.

◆ RootVisual()

virtual VisualPtr RootVisual ( ) const
overridevirtual

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

Implements Scene.

◆ Sensors()

virtual SensorStorePtr Sensors ( ) const
overrideprotectedvirtual

Implements BaseScene.

◆ SetAmbientLight()

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

Set the scene ambient light color.

Parameters
[in]_colorThe scene ambient light color

Implements BaseScene.

◆ Visuals()

virtual VisualStorePtr Visuals ( ) const
overrideprotectedvirtual

Implements BaseScene.

Member Data Documentation

◆ lights

Ogre2LightStorePtr lights
protected

A list of ogre lights.

◆ materials

Ogre2MaterialMapPtr materials
protected

A list of ogre materials.

◆ meshFactory

Ogre2MeshFactoryPtr meshFactory
protected

Mesh factory for generating ogre meshes.

◆ ogreSceneManager

Ogre::SceneManager* ogreSceneManager = nullptr
protected

Pointer to the ogre scene manager.

◆ rootVisual

Ogre2VisualPtr rootVisual
protected

Root visual in the scene.

◆ sensors

Ogre2SensorStorePtr sensors
protected

A list of ogre sensors, e.g. cameras.

◆ visuals

Ogre2VisualStorePtr visuals
protected

A list of ogre visuals.


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