RAMSES Documentation  27.0.130
Information for RAMSES users and developers
IRendererSceneControlEventHandler.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2020 BMW AG
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_IRENDERERSCENECONTROLEVENTHANDLER_H
10 #define RAMSES_IRENDERERSCENECONTROLEVENTHANDLER_H
11 
15 
16 namespace ramses
17 {
24  {
25  public:
43  virtual void sceneStateChanged(sceneId_t sceneId, RendererSceneState state) = 0;
44 
54  virtual void offscreenBufferLinked(displayBufferId_t offscreenBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
55 
56 #ifdef RAMSES_ENABLE_EXTERNAL_BUFFER_EVENTS
66  virtual void externalBufferLinked(externalBufferId_t externalBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
67 #endif
68 
79  virtual void dataLinked(sceneId_t providerScene, dataProviderId_t providerId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
80 
89  virtual void dataUnlinked(sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
90 
97  virtual void dataProviderCreated(sceneId_t sceneId, dataProviderId_t dataProviderId) = 0;
98 
106  virtual void dataProviderDestroyed(sceneId_t sceneId, dataProviderId_t dataProviderId) = 0;
107 
114  virtual void dataConsumerCreated(sceneId_t sceneId, dataConsumerId_t dataConsumerId) = 0;
115 
123  virtual void dataConsumerDestroyed(sceneId_t sceneId, dataConsumerId_t dataConsumerId) = 0;
124 
130  virtual void sceneFlushed(sceneId_t sceneId, sceneVersionTag_t sceneVersionTag) = 0;
131 
140  virtual void sceneExpirationMonitoringEnabled(sceneId_t sceneId) = 0;
141 
154  virtual void sceneExpirationMonitoringDisabled(sceneId_t sceneId) = 0;
155 
164  virtual void sceneExpired(sceneId_t sceneId) = 0;
165 
174  virtual void sceneRecoveredFromExpiration(sceneId_t sceneId) = 0;
175 
191  virtual void streamAvailabilityChanged(waylandIviSurfaceId_t streamId, bool available) = 0;
192 
203  virtual void objectsPicked(sceneId_t sceneId, const pickableObjectId_t* pickedObjects, uint32_t pickedObjectsCount) = 0;
204 
207  };
208 
214  {
215  public:
219  virtual void sceneStateChanged(sceneId_t sceneId, RendererSceneState state) override
220  {
221  (void)sceneId;
222  (void)state;
223  }
224 
228  virtual void offscreenBufferLinked(displayBufferId_t offscreenBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
229  {
230  (void)offscreenBufferId;
231  (void)consumerScene;
232  (void)consumerId;
233  (void)success;
234  }
235 
236 #ifdef RAMSES_ENABLE_EXTERNAL_BUFFER_EVENTS
240  virtual void externalBufferLinked(externalBufferId_t externalBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
241  {
242  (void)externalBufferId;
243  (void)consumerScene;
244  (void)consumerId;
245  (void)success;
246  }
247 #endif
248 
252  virtual void dataLinked(sceneId_t providerScene, dataProviderId_t providerId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
253  {
254  (void)providerScene;
255  (void)providerId;
256  (void)consumerScene;
257  (void)consumerId;
258  (void)success;
259  }
260 
264  virtual void dataUnlinked(sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
265  {
266  (void)consumerScene;
267  (void)consumerId;
268  (void)success;
269  }
270 
274  virtual void dataProviderCreated(sceneId_t sceneId, dataProviderId_t dataProviderId) override
275  {
276  (void)sceneId;
277  (void)dataProviderId;
278  }
279 
283  virtual void dataProviderDestroyed(sceneId_t sceneId, dataProviderId_t dataProviderId) override
284  {
285  (void)sceneId;
286  (void)dataProviderId;
287  }
288 
292  virtual void dataConsumerCreated(sceneId_t sceneId, dataConsumerId_t dataConsumerId) override
293  {
294  (void)sceneId;
295  (void)dataConsumerId;
296  }
297 
301  virtual void dataConsumerDestroyed(sceneId_t sceneId, dataConsumerId_t dataConsumerId) override
302  {
303  (void)sceneId;
304  (void)dataConsumerId;
305  }
306 
310  virtual void sceneFlushed(sceneId_t sceneId, sceneVersionTag_t sceneVersionTag) override
311  {
312  (void)sceneId;
313  (void)sceneVersionTag;
314  }
315 
319  virtual void sceneExpirationMonitoringEnabled(sceneId_t sceneId) override
320  {
321  (void)sceneId;
322  }
323 
327  virtual void sceneExpirationMonitoringDisabled(sceneId_t sceneId) override
328  {
329  (void)sceneId;
330  }
331 
335  virtual void sceneExpired(sceneId_t sceneId) override
336  {
337  (void)sceneId;
338  }
339 
343  virtual void sceneRecoveredFromExpiration(sceneId_t sceneId) override
344  {
345  (void)sceneId;
346  }
347 
351  virtual void streamAvailabilityChanged(waylandIviSurfaceId_t streamId, bool available) override
352  {
353  (void)streamId;
354  (void)available;
355  }
356 
360  virtual void objectsPicked(sceneId_t sceneId, const pickableObjectId_t* pickedObjects, uint32_t pickedObjectsCount) override
361  {
362  (void)sceneId;
363  (void)pickedObjects;
364  (void)pickedObjectsCount;
365  }
366  };
367 }
368 
369 #endif
#define RAMSES_API
Definition: APIExport.h:35
Provides an interface for handling the result of renderer scene control events. Implementation of thi...
Definition: IRendererSceneControlEventHandler.h:24
virtual void streamAvailabilityChanged(waylandIviSurfaceId_t streamId, bool available)=0
This method will be called when a new IVI video stream becomes available, or when an existing stream ...
virtual ~IRendererSceneControlEventHandler()=default
Empty destructor.
virtual void sceneFlushed(sceneId_t sceneId, sceneVersionTag_t sceneVersionTag)=0
This method will be called after a flush with version tag (ramses::Scene::flush) has been applied.
virtual void sceneRecoveredFromExpiration(sceneId_t sceneId)=0
This method will be called if a scene which previously expired (ramses::Scene::setExpirationTimestamp...
virtual void sceneExpirationMonitoringDisabled(sceneId_t sceneId)=0
This method will be called whenever a scene which was previously monitored for expiration has request...
virtual void dataLinked(sceneId_t providerScene, dataProviderId_t providerId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success)=0
This method will be called when the data link between a data provider and data consumer is establishe...
virtual void sceneStateChanged(sceneId_t sceneId, RendererSceneState state)=0
This method will be called when state of a scene changes.
virtual void dataProviderDestroyed(sceneId_t sceneId, dataProviderId_t dataProviderId)=0
This method will be called when a data provider is destroyed.
virtual void sceneExpired(sceneId_t sceneId)=0
This method will be called if a scene which is enabled for expiration monitoring (sceneExpirationMoni...
virtual void sceneExpirationMonitoringEnabled(sceneId_t sceneId)=0
This method will be called whenever a scene which was not previously monitored for expiration has req...
virtual void dataProviderCreated(sceneId_t sceneId, dataProviderId_t dataProviderId)=0
This method will be called whenever a data provider is created.
virtual void dataConsumerCreated(sceneId_t sceneId, dataConsumerId_t dataConsumerId)=0
This method will be called whenever a data consumer is created.
virtual void dataConsumerDestroyed(sceneId_t sceneId, dataConsumerId_t dataConsumerId)=0
This method will be called when a data consumer is destroyed.
virtual void offscreenBufferLinked(displayBufferId_t offscreenBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success)=0
This method will be called when the data link between offscreen buffer and scene's data slot is estab...
virtual void objectsPicked(sceneId_t sceneId, const pickableObjectId_t *pickedObjects, uint32_t pickedObjectsCount)=0
This method will be called when there were scene objects picked. A ramses::PickableObject can be 'pic...
virtual void dataUnlinked(sceneId_t consumerScene, dataConsumerId_t consumerId, bool success)=0
This method will be called when the data link between a data provider and data consumer is destroyed.
Convenience empty implementation of IRendererSceneControlEventHandler that can be used to derive from...
Definition: IRendererSceneControlEventHandler.h:214
virtual void sceneFlushed(sceneId_t sceneId, sceneVersionTag_t sceneVersionTag) override
This method will be called after a flush with version tag (ramses::Scene::flush) has been applied.
Definition: IRendererSceneControlEventHandler.h:310
virtual void dataUnlinked(sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
This method will be called when the data link between a data provider and data consumer is destroyed.
Definition: IRendererSceneControlEventHandler.h:264
virtual void offscreenBufferLinked(displayBufferId_t offscreenBufferId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
This method will be called when the data link between offscreen buffer and scene's data slot is estab...
Definition: IRendererSceneControlEventHandler.h:228
virtual void dataLinked(sceneId_t providerScene, dataProviderId_t providerId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) override
This method will be called when the data link between a data provider and data consumer is establishe...
Definition: IRendererSceneControlEventHandler.h:252
virtual void objectsPicked(sceneId_t sceneId, const pickableObjectId_t *pickedObjects, uint32_t pickedObjectsCount) override
This method will be called when there were scene objects picked. A ramses::PickableObject can be 'pic...
Definition: IRendererSceneControlEventHandler.h:360
virtual void dataConsumerCreated(sceneId_t sceneId, dataConsumerId_t dataConsumerId) override
This method will be called whenever a data consumer is created.
Definition: IRendererSceneControlEventHandler.h:292
virtual void streamAvailabilityChanged(waylandIviSurfaceId_t streamId, bool available) override
This method will be called when a new IVI video stream becomes available, or when an existing stream ...
Definition: IRendererSceneControlEventHandler.h:351
virtual void dataProviderCreated(sceneId_t sceneId, dataProviderId_t dataProviderId) override
This method will be called whenever a data provider is created.
Definition: IRendererSceneControlEventHandler.h:274
virtual void sceneStateChanged(sceneId_t sceneId, RendererSceneState state) override
This method will be called when state of a scene changes.
Definition: IRendererSceneControlEventHandler.h:219
virtual void sceneExpirationMonitoringDisabled(sceneId_t sceneId) override
This method will be called whenever a scene which was previously monitored for expiration has request...
Definition: IRendererSceneControlEventHandler.h:327
virtual void sceneRecoveredFromExpiration(sceneId_t sceneId) override
This method will be called if a scene which previously expired (ramses::Scene::setExpirationTimestamp...
Definition: IRendererSceneControlEventHandler.h:343
virtual void sceneExpired(sceneId_t sceneId) override
This method will be called if a scene which is enabled for expiration monitoring (sceneExpirationMoni...
Definition: IRendererSceneControlEventHandler.h:335
virtual void dataConsumerDestroyed(sceneId_t sceneId, dataConsumerId_t dataConsumerId) override
This method will be called when a data consumer is destroyed.
Definition: IRendererSceneControlEventHandler.h:301
virtual void dataProviderDestroyed(sceneId_t sceneId, dataProviderId_t dataProviderId) override
This method will be called when a data provider is destroyed.
Definition: IRendererSceneControlEventHandler.h:283
virtual void sceneExpirationMonitoringEnabled(sceneId_t sceneId) override
This method will be called whenever a scene which was not previously monitored for expiration has req...
Definition: IRendererSceneControlEventHandler.h:319
Helper class to create strongly typed values out of various types.
Definition: StronglyTypedValue.h:23
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
RendererSceneState
Definition: RendererSceneState.h:19
uint64_t sceneVersionTag_t
Scene version tag used to refer to content versions of a scene. A scene version may be updated along ...
Definition: RamsesFrameworkTypes.h:49