17 #ifndef IGNITION_RENDERING_SCENE_HH_ 18 #define IGNITION_RENDERING_SCENE_HH_ 23 #include <ignition/common/Material.hh> 24 #include <ignition/common/Mesh.hh> 25 #include <ignition/common/Time.hh> 27 #include <ignition/math/Color.hh> 32 #include "ignition/rendering/Export.hh" 44 class IGNITION_RENDERING_VISIBLE
Scene 50 public:
virtual void Load() = 0;
53 public:
virtual void Init() = 0;
56 public:
virtual void Fini() = 0;
60 public:
virtual bool IsInitialized()
const = 0;
64 public:
virtual unsigned int Id()
const = 0;
76 public:
virtual common::Time SimTime()
const = 0;
80 public:
virtual void SetSimTime(
const common::Time &_time) = 0;
87 public:
virtual VisualPtr RootVisual()
const = 0;
91 public:
virtual math::Color AmbientLight()
const = 0;
98 public:
virtual void SetAmbientLight(
double _r,
double _g,
double _b,
103 public:
virtual void SetAmbientLight(
const math::Color &_color) = 0;
107 public:
virtual math::Color BackgroundColor()
const = 0;
114 public:
virtual void SetBackgroundColor(
double _r,
double _g,
double _b,
115 double _a = 1.0) = 0;
119 public:
virtual void SetBackgroundColor(
const math::Color &_color) = 0;
124 public:
virtual unsigned int NodeCount()
const = 0;
129 public:
virtual bool HasNode(
ConstNodePtr _node)
const = 0;
135 public:
virtual bool HasNodeId(
unsigned int _id)
const = 0;
141 public:
virtual bool HasNodeName(
const std::string &_name)
const = 0;
147 public:
virtual NodePtr NodeById(
unsigned int _id)
const = 0;
159 public:
virtual NodePtr NodeByIndex(
unsigned int _index)
const = 0;
165 public:
virtual void DestroyNode(
NodePtr _node) = 0;
171 public:
virtual void DestroyNodeById(
unsigned int _id) = 0;
177 public:
virtual void DestroyNodeByName(
const std::string &_name) = 0;
183 public:
virtual void DestroyNodeByIndex(
unsigned int _index) = 0;
186 public:
virtual void DestroyNodes() = 0;
191 public:
virtual unsigned int LightCount()
const = 0;
196 public:
virtual bool HasLight(
ConstLightPtr _light)
const = 0;
202 public:
virtual bool HasLightId(
unsigned int _id)
const = 0;
208 public:
virtual bool HasLightName(
const std::string &_name)
const = 0;
214 public:
virtual LightPtr LightById(
unsigned int _id)
const = 0;
220 public:
virtual LightPtr LightByName(
227 public:
virtual LightPtr LightByIndex(
unsigned int _index)
const = 0;
233 public:
virtual void DestroyLight(
LightPtr _light) = 0;
239 public:
virtual void DestroyLightById(
unsigned int _id) = 0;
245 public:
virtual void DestroyLightByName(
const std::string &_name) = 0;
251 public:
virtual void DestroyLightByIndex(
unsigned int _index) = 0;
254 public:
virtual void DestroyLights() = 0;
259 public:
virtual unsigned int SensorCount()
const = 0;
270 public:
virtual bool HasSensorId(
unsigned int _id)
const = 0;
276 public:
virtual bool HasSensorName(
const std::string &_name)
const = 0;
282 public:
virtual SensorPtr SensorById(
unsigned int _id)
const = 0;
295 public:
virtual SensorPtr SensorByIndex(
unsigned int _index)
const = 0;
301 public:
virtual void DestroySensor(
SensorPtr _sensor) = 0;
307 public:
virtual void DestroySensorById(
unsigned int _id) = 0;
313 public:
virtual void DestroySensorByName(
const std::string &_name) = 0;
319 public:
virtual void DestroySensorByIndex(
unsigned int _index) = 0;
322 public:
virtual void DestroySensors() = 0;
327 public:
virtual unsigned int VisualCount()
const = 0;
338 public:
virtual bool HasVisualId(
unsigned int _id)
const = 0;
344 public:
virtual bool HasVisualName(
const std::string &_name)
const = 0;
350 public:
virtual VisualPtr VisualById(
unsigned int _id)
const = 0;
363 public:
virtual VisualPtr VisualByIndex(
unsigned int _index)
const = 0;
369 public:
virtual void DestroyVisual(
VisualPtr _node) = 0;
375 public:
virtual void DestroyVisualById(
unsigned int _id) = 0;
381 public:
virtual void DestroyVisualByName(
const std::string &_name) = 0;
387 public:
virtual void DestroyVisualByIndex(
unsigned int _index) = 0;
390 public:
virtual void DestroyVisuals() = 0;
395 public:
virtual bool MaterialRegistered(
409 public:
virtual void RegisterMaterial(
const std::string &_name,
415 public:
virtual void UnregisterMaterial(
const std::string &_name) = 0;
418 public:
virtual void UnregisterMaterials() = 0;
431 unsigned int _id) = 0;
460 unsigned int _id) = 0;
489 unsigned int _id) = 0;
510 public:
virtual CameraPtr CreateCamera() = 0;
518 unsigned int _id) = 0;
539 public:
virtual VisualPtr CreateVisual() = 0;
547 unsigned int _id) = 0;
576 unsigned int _id) = 0;
605 unsigned int _id) = 0;
656 public:
virtual MeshPtr CreateMesh(
const common::Mesh *_mesh) = 0;
667 public:
virtual GridPtr CreateGrid() = 0;
680 const common::Material &_material) = 0;
698 public:
virtual void PreRender() = 0;
703 public:
virtual void Clear() = 0;
708 public:
virtual void Destroy() = 0;
Describes how a Mesh should be loaded.
Definition: MeshDescriptor.hh:38
Manages a single scene-graph. This class updates scene-wide properties and holds the root scene node...
Definition: Scene.hh:44
An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a r...
Definition: RenderEngine.hh:32
virtual ~Scene()
Deconstructor.
Definition: Scene.hh:47
Definition: ArrowVisual.hh:22
Represents a surface material of a Geometry.
Definition: Material.hh:34