17 #ifndef IGNITION_RENDERING_SCENE_HH_ 18 #define IGNITION_RENDERING_SCENE_HH_ 30 #include "ignition/rendering/config.hh" 35 #include "ignition/rendering/Export.hh" 41 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
49 class IGNITION_RENDERING_VISIBLE
Scene 55 public:
virtual void Load() = 0;
58 public:
virtual void Init() = 0;
61 public:
virtual void Fini() = 0;
65 public:
virtual bool IsInitialized()
const = 0;
69 public:
virtual unsigned int Id()
const = 0;
81 public:
virtual common::Time IGN_DEPRECATED(4) SimTime()
const = 0;
85 public:
virtual std::chrono::steady_clock::duration
90 public:
virtual void IGN_DEPRECATED(4)
95 public:
virtual void SetTime(
96 const std::chrono::steady_clock::duration &_time) = 0;
103 public:
virtual VisualPtr RootVisual()
const = 0;
114 public:
virtual math::Color AmbientLight()
const = 0;
121 public:
virtual void SetAmbientLight(
double _r,
double _g,
double _b,
122 double _a = 1.0) = 0;
126 public:
virtual void SetAmbientLight(
const math::Color &_color) = 0;
130 public:
virtual math::Color BackgroundColor()
const = 0;
137 public:
virtual void SetBackgroundColor(
double _r,
double _g,
double _b,
138 double _a = 1.0) = 0;
142 public:
virtual void SetBackgroundColor(
const math::Color &_color) = 0;
146 public:
virtual bool IsGradientBackgroundColor()
const = 0;
152 GradientBackgroundColor()
const = 0;
167 public:
virtual void SetGradientBackgroundColor(
173 public:
virtual void RemoveGradientBackgroundColor() = 0;
178 public:
virtual MaterialPtr BackgroundMaterial()
const = 0;
183 public:
virtual void SetBackgroundMaterial(
MaterialPtr _material) = 0;
188 public:
virtual unsigned int NodeCount()
const = 0;
193 public:
virtual bool HasNode(
ConstNodePtr _node)
const = 0;
199 public:
virtual bool HasNodeId(
unsigned int _id)
const = 0;
205 public:
virtual bool HasNodeName(
const std::string &_name)
const = 0;
211 public:
virtual NodePtr NodeById(
unsigned int _id)
const = 0;
223 public:
virtual NodePtr NodeByIndex(
unsigned int _index)
const = 0;
232 public:
virtual void DestroyNode(
NodePtr _node,
233 bool _recursive =
false) = 0;
239 public:
virtual void DestroyNodeById(
unsigned int _id) = 0;
245 public:
virtual void DestroyNodeByName(
const std::string &_name) = 0;
251 public:
virtual void DestroyNodeByIndex(
unsigned int _index) = 0;
254 public:
virtual void DestroyNodes() = 0;
259 public:
virtual unsigned int LightCount()
const = 0;
264 public:
virtual bool HasLight(
ConstLightPtr _light)
const = 0;
270 public:
virtual bool HasLightId(
unsigned int _id)
const = 0;
276 public:
virtual bool HasLightName(
const std::string &_name)
const = 0;
282 public:
virtual LightPtr LightById(
unsigned int _id)
const = 0;
288 public:
virtual LightPtr LightByName(
295 public:
virtual LightPtr LightByIndex(
unsigned int _index)
const = 0;
304 public:
virtual void DestroyLight(
LightPtr _light,
305 bool _recursive =
false) = 0;
311 public:
virtual void DestroyLightById(
unsigned int _id) = 0;
317 public:
virtual void DestroyLightByName(
const std::string &_name) = 0;
323 public:
virtual void DestroyLightByIndex(
unsigned int _index) = 0;
326 public:
virtual void DestroyLights() = 0;
331 public:
virtual unsigned int SensorCount()
const = 0;
342 public:
virtual bool HasSensorId(
unsigned int _id)
const = 0;
348 public:
virtual bool HasSensorName(
const std::string &_name)
const = 0;
354 public:
virtual SensorPtr SensorById(
unsigned int _id)
const = 0;
367 public:
virtual SensorPtr SensorByIndex(
unsigned int _index)
const = 0;
376 public:
virtual void DestroySensor(
SensorPtr _sensor,
377 bool _recursive =
false) = 0;
383 public:
virtual void DestroySensorById(
unsigned int _id) = 0;
389 public:
virtual void DestroySensorByName(
const std::string &_name) = 0;
395 public:
virtual void DestroySensorByIndex(
unsigned int _index) = 0;
398 public:
virtual void DestroySensors() = 0;
403 public:
virtual unsigned int VisualCount()
const = 0;
414 public:
virtual bool HasVisualId(
unsigned int _id)
const = 0;
420 public:
virtual bool HasVisualName(
const std::string &_name)
const = 0;
426 public:
virtual VisualPtr VisualById(
unsigned int _id)
const = 0;
439 public:
virtual VisualPtr VisualByIndex(
unsigned int _index)
const = 0;
449 public:
virtual void DestroyVisual(
VisualPtr _node,
450 bool _recursive =
false) = 0;
456 public:
virtual void DestroyVisualById(
unsigned int _id) = 0;
462 public:
virtual void DestroyVisualByName(
const std::string &_name) = 0;
468 public:
virtual void DestroyVisualByIndex(
unsigned int _index) = 0;
471 public:
virtual void DestroyVisuals() = 0;
476 public:
virtual bool MaterialRegistered(
490 public:
virtual void RegisterMaterial(
const std::string &_name,
496 public:
virtual void UnregisterMaterial(
const std::string &_name) = 0;
499 public:
virtual void UnregisterMaterials() = 0;
503 public:
virtual void DestroyMaterial(
MaterialPtr _material) = 0;
506 public:
virtual void DestroyMaterials() = 0;
519 unsigned int _id) = 0;
548 unsigned int _id) = 0;
577 unsigned int _id) = 0;
598 public:
virtual CameraPtr CreateCamera() = 0;
606 unsigned int _id) = 0;
635 unsigned int _id) = 0;
664 unsigned int _id) = 0;
685 public:
virtual GpuRaysPtr CreateGpuRays() = 0;
692 public:
virtual GpuRaysPtr CreateGpuRays(
unsigned int _id) = 0;
713 public:
virtual VisualPtr CreateVisual() = 0;
721 unsigned int _id) = 0;
750 unsigned int _id) = 0;
779 unsigned int _id) = 0;
808 unsigned int _id) = 0;
837 unsigned int _id) = 0;
861 public:
virtual CapsulePtr CreateCapsule() = 0;
905 public:
virtual GridPtr CreateGrid() = 0;
909 public:
virtual WireBoxPtr CreateWireBox() = 0;
913 public:
virtual MarkerPtr CreateMarker() = 0;
925 public:
virtual LidarVisualPtr CreateLidarVisual(
unsigned int _id) = 0;
952 public:
virtual TextPtr CreateText() = 0;
992 unsigned int _id) = 0;
1012 public:
virtual void SetSkyEnabled(
bool _enabled) = 0;
1016 public:
virtual bool SkyEnabled()
const = 0;
1020 public:
virtual void PreRender() = 0;
1025 public:
virtual void Clear() = 0;
1030 public:
virtual void Destroy() = 0;
Describes how a Mesh should be loaded.
Definition: MeshDescriptor.hh:44
Manages a single scene-graph. This class updates scene-wide properties and holds the root scene node...
Definition: Scene.hh:49
Describes how a Heightmap should be loaded.
Definition: HeightmapDescriptor.hh:146
An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a r...
Definition: RenderEngine.hh:36
virtual ~Scene()
Destructor.
Definition: Scene.hh:52
Represents a surface material of a Geometry.
Definition: Material.hh:47