RAMSES Documentation  27.0.130
Information for RAMSES users and developers
Public Member Functions | List of all members
SceneStateEventHandler Class Reference
Inheritance diagram for SceneStateEventHandler:
[legend]
Collaboration diagram for SceneStateEventHandler:
[legend]

Public Member Functions

 SceneStateEventHandler (ramses::RendererSceneControl &sceneControlApi, ramses::RamsesRenderer &renderer)
 
void dataProviderCreated (ramses::sceneId_t sceneId, ramses::dataProviderId_t) override
 This method will be called whenever a data provider is created. More...
 
void dataConsumerCreated (ramses::sceneId_t sceneId, ramses::dataConsumerId_t) override
 This method will be called whenever a data consumer is created. More...
 
void waitForDataProviderOrConsumerCreated (ramses::sceneId_t sceneId)
 
- Public Member Functions inherited from ramses::RendererSceneControlEventHandlerEmpty
virtual void sceneStateChanged (sceneId_t sceneId, RendererSceneState state) override
 This method will be called when state of a scene changes. More...
 
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 established. More...
 
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 established. More...
 
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. More...
 
virtual void dataProviderDestroyed (sceneId_t sceneId, dataProviderId_t dataProviderId) override
 This method will be called when a data provider is destroyed. More...
 
virtual void dataConsumerDestroyed (sceneId_t sceneId, dataConsumerId_t dataConsumerId) override
 This method will be called when a data consumer is destroyed. More...
 
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. More...
 
virtual void sceneExpirationMonitoringEnabled (sceneId_t sceneId) override
 This method will be called whenever a scene which was not previously monitored for expiration has requested expiration monitoring by sending a scene flush with valid expiration timestamp (ramses::Scene::setExpirationTimestamp) and that flush was applied on renderer side. From this point on, the scene will be monitored, can expire and recover (sceneExpired, sceneRecoveredFromExpiration) until monitoring disabled again (sceneExpirationMonitoringDisabled). More...
 
virtual void sceneExpirationMonitoringDisabled (sceneId_t sceneId) override
 This method will be called whenever a scene which was previously monitored for expiration has requested to stop being monitored by sending a scene flush with invalid expiration timestamp (ramses::Scene::setExpirationTimestamp) and that flush was applied on renderer side. This method will also be called if a previously monitored scene is unsubscribed from the renderer, i.e. drops state to ramses::RendererSceneState::Available from previous ramses::RendererSceneState::Ready (or potentially after canceled transition to ramses::RendererSceneState::Ready). From this point on, the scene will not be monitored anymore, regardless if it previously expired or not, i.e. there will be no expiration events (sceneExpired, sceneRecoveredFromExpiration) until monitoring enabled again (sceneExpirationMonitoringEnabled). More...
 
virtual void sceneExpired (sceneId_t sceneId) override
 This method will be called if a scene which is enabled for expiration monitoring (sceneExpirationMonitoringEnabled) is on renderer (not necessarily rendered) at a state that expired, i.e. current time is after the expiration timestamp set via ramses::Scene::setExpirationTimestamp. This callback is called only once when the scene expires even if scene stays expired in subsequent frames. When the scene is updated again with a new not anymore expired timestamp, sceneRecoveredFromExpiration is called. More...
 
virtual void sceneRecoveredFromExpiration (sceneId_t sceneId) override
 This method will be called if a scene which previously expired (ramses::Scene::setExpirationTimestamp and sceneExpired) was updated with a new expiration timestamp that is not expired anymore. This callback is called only once when the scene switches state from expired to not expired. This callback is not called when monitoring becomes disabled (sceneExpirationMonitoringDisabled) while scene is expired (sceneExpired). More...
 
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 disappears In terms of Wayland protocol, a stream is available if an "ivi_application" exists which has created a wayland surface (wl_surface) with ivi_id=streamId, and the surface has at least one attached non-nullptr buffer (i.e. renderable content). More...
 
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 'picked' via a pick input event which is passed to ramses::RendererSceneControl when the scene is rendered (see ramses::RendererSceneControl::handlePickEvent). More...
 
- Public Member Functions inherited from ramses::IRendererSceneControlEventHandler
virtual ~IRendererSceneControlEventHandler ()=default
 Empty destructor. More...
 

Detailed Description

Examples
ramses-example-local-datalink/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, ramses-example-local-offscreenbuffer/src/main.cpp, ramses-example-local-pick-handling/src/main.cpp, and ramses-example-local-viewport-link/src/main.cpp.

Constructor & Destructor Documentation

◆ SceneStateEventHandler()

SceneStateEventHandler::SceneStateEventHandler ( ramses::RendererSceneControl sceneControlApi,
ramses::RamsesRenderer renderer 
)
inline

Member Function Documentation

◆ dataConsumerCreated()

void SceneStateEventHandler::dataConsumerCreated ( ramses::sceneId_t  sceneId,
ramses::dataConsumerId_t  dataConsumerId 
)
inlineoverridevirtual

This method will be called whenever a data consumer is created.

The event is emitted also for every data consumer in a newly available scene.

Parameters
sceneIdThe scene id of the scene on which the event occurred
dataConsumerIdThe created data consumer id

Reimplemented from ramses::RendererSceneControlEventHandlerEmpty.

Examples
ramses-example-local-datalink/src/main.cpp.

◆ dataProviderCreated()

void SceneStateEventHandler::dataProviderCreated ( ramses::sceneId_t  sceneId,
ramses::dataProviderId_t  dataProviderId 
)
inlineoverridevirtual

This method will be called whenever a data provider is created.

The event is emitted also for every data provider in a newly available scene.

Parameters
sceneIdThe scene id of the scene on which the event occurred
dataProviderIdThe created data provider id

Reimplemented from ramses::RendererSceneControlEventHandlerEmpty.

Examples
ramses-example-local-datalink/src/main.cpp.

◆ waitForDataProviderOrConsumerCreated()

void SceneStateEventHandler::waitForDataProviderOrConsumerCreated ( ramses::sceneId_t  sceneId)
inline

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