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

Public Member Functions

 LocalDCSMExample (int32_t argc, char const *const *argv)
 
 ~LocalDCSMExample () override
 
void contentHide (ContentID, AnimationInformation) override
 Called if a content will be switched to be hidden. More...
 
void contentShow (ContentID, AnimationInformation) override
 Called if a content will be switched to shown. More...
 
void stopOfferAccepted (ContentID, AnimationInformation) override
 Called after a content was requested to no longer be offered. After this function returns, content is no longer offered. After the animation is finished, the associated scene can be safely unpublished. More...
 
void contentSizeChange (ContentID, const CategoryInfoUpdate &, AnimationInformation) override
 Called after the rendering viewport for the content has been changed. Will be called once after a DcsmConsumer assigned itself for the content, and every time the consumer changes the rendering viewport size. More...
 
void contentReadyRequested (ContentID) override
 Called after a DcsmConsumer requested the content and it has not been marked ready yet. After this function has been called, markContentReady() of the DcsmProvider shall be called. More...
 
void contentRelease (ContentID, AnimationInformation) override
 Called after an assigned DcsmConsumer is no longer interested in the content or the scene associated with it. After the animation has been finished, the associated scene can be safely unpublished. Note that the content has to be marked ready again after the call of this callback, should a DcsmConsumer request it to be ready again. More...
 
void contentAvailable (ContentID contentID, Category) override
 New content is available. This is a result of Dcsm content offer that requested category registered in the ramses::DcsmContentControl. This can also mean that content is released (its scene is not rendered anymore and resources are unloaded), as result of ramses::DcsmContentControl::releaseContent at finish time of animation if any provided, or if content state drops to available as result of its scene state change. More...
 
void contentReady (ContentID contentID, DcsmContentControlEventResult) override
 Content became ready or timed out to get ready. See ramses::DcsmContentControl::requestContentReady for details. This can also mean content has become hidden (its scene is not rendered anymore), as result of ramses::DcsmContentControl::hideContent at finish time of animation if any provided. More...
 
void offscreenBufferCreated (displayId_t, displayBufferId_t, ERendererEventResult result) override
 This method will be called after an offscreen buffer is created (or failed to be created) as a result of RamsesRenderer API createOffscreenBuffer call. More...
 
void windowClosed (displayId_t) override
 This method will be called when a display's window has been closed. More...
 
void run ()
 
- Public Member Functions inherited from ramses::DcsmContentControlEventHandlerEmpty
virtual void contentShown (ContentID contentID) override
 Content is shown (its scene is rendered on corresponding display). This callback comes at start time of animation if any provided, see ramses::DcsmContentControl::showContent for details. More...
 
virtual void contentStopOfferRequested (ContentID contentID) override
 Called when Dcsm provider requests that its content is not used anymore and it would like to stop offering it. This is a purely Dcsm related message forwarded via ramses::DcsmContentControl event mechanism. Application logic should react by calling ramses::ramses::DcsmContentControl::acceptStopOffer (optionally with timing information), when it decides that the content is indeed no longer needed. More...
 
virtual void contentNotAvailable (ContentID contentID) override
 Content became unavailable unexpectedly. Application logic should react as fast as possible if this affects currently rendered content(s). More...
 
virtual void contentMetadataUpdated (ContentID contentID, const DcsmMetadataUpdate &metadataUpdate) override
 Update metadata for given content. This callback provides metadata given to by DcsmProvider::offerContentWithMetadata() and DcsmProvider::updateContentMetadata(). A consumer will get the combined state of all past metadata updates from the whole lifecycle of the content as first event after it successfully acquired control over content (state Assigned). Later events only contain delta updates. When the provider never attached metadata to this content, this callback will never be called. More...
 
virtual void offscreenBufferLinked (displayBufferId_t offscreenBufferId, ContentID consumerContent, dataConsumerId_t consumerId, bool success) override
 Offscreen buffer and consumer were linked (or failed to be linked) as result of calling ramses::DcsmContentControl::linkOffscreenBuffer. More...
 
void contentLinkedToTextureConsumer (ContentID providerContent, ContentID consumerContent, dataConsumerId_t consumerId, bool success) override
 Content and consumer were linked (or failed to be linked) as result of calling ramses::DcsmContentControl::linkContentToTextureConsumer. More...
 
virtual void dataLinked (ContentID providerContent, dataProviderId_t providerId, ContentID consumerContent, dataConsumerId_t consumerId, bool success) override
 Data provider and consumer were linked (or failed to be linked) as result of calling ramses::DcsmContentControl::linkData. More...
 
virtual void dataUnlinked (ContentID consumerContent, dataConsumerId_t consumerId, bool success) override
 Data consumer was unlinked from provider (or failed to be linked) as result of calling ramses::DcsmContentControl::unlinkData. More...
 
virtual void objectsPicked (ContentID content, const pickableObjectId_t *pickedObjects, uint32_t pickedObjectsCount) override
 This method will be called when there were scene objects picked as a result of ramses::DcsmContentControl::handlePickEvent. A ramses::PickableObject can be 'picked' via a pick input event which is passed to ramses::DcsmContentControl when the scene is rendered. More...
 
virtual void dataProviderCreated (ContentID contentID, dataProviderId_t dataProviderId) override
 This method will be called whenever a data provider is created in content's scene. More...
 
virtual void dataProviderDestroyed (ContentID contentID, dataProviderId_t dataProviderId) override
 This method will be called when a data provider is removed from content's scene. More...
 
virtual void dataConsumerCreated (ContentID contentID, dataConsumerId_t dataConsumerId) override
 This method will be called whenever a data consumer is created in content's scene. More...
 
virtual void dataConsumerDestroyed (ContentID contentID, dataConsumerId_t dataConsumerId) override
 This method will be called when a data consumer is removed from content's scene. More...
 
virtual void contentFlushed (ContentID contentID, sceneVersionTag_t version) override
 Scene associated with content was flushed with a version tag. More...
 
virtual void contentExpirationMonitoringEnabled (ContentID contentID) override
 This method will be called whenever a content's 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 content's scene will be monitored, can expire and recover (contentExpired, contentRecoveredFromExpiration) until monitoring disabled again (contentExpirationMonitoringDisabled). If the scene is associated with multiple contents (at the time of receiving this event) this callback will be triggered for all those contents. More...
 
virtual void contentExpirationMonitoringDisabled (ContentID contentID) override
 This method will be called whenever a content's 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 content is unsubscribed from the renderer, i.e. drops state to available from previous ready (or potentially after canceled transition to ready). From this point on, the content's scene will not be monitored anymore, regardless if it previously expired or not, i.e. there will be no expiration events (contentExpired, contentRecoveredFromExpiration) until monitoring enabled again (contentExpirationMonitoringEnabled). If the scene is associated with multiple contents (at the time of receiving this event) this callback will be triggered for all those contents. More...
 
virtual void contentExpired (ContentID contentID) override
 This method will be called if a content's scene which is enabled for expiration monitoring (contentExpirationMonitoringEnabled) 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 content's scene expires even if the scene stays expired in subsequent frames. When the scene is updated again with a new not anymore expired timestamp, contentRecoveredFromExpiration is called. If the scene is associated with multiple contents (at the time of receiving this event) this callback will be triggered for all those contents. More...
 
virtual void contentRecoveredFromExpiration (ContentID contentID) override
 This method will be called if a content's scene which previously expired (ramses::Scene::setExpirationTimestamp and contentExpired) was updated with a new expiration timestamp that is not expired anymore. This callback is called only once when the content's scene switches state from expired to not expired. This callback is not called when monitoring becomes disabled (contentExpirationMonitoringDisabled) while content's scene is expired (contentExpired). If the scene is associated with multiple contents (at the time of receiving this event) this callback will be triggered for all those contents. 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. More...
 
void contentEnableFocusRequest (ramses::ContentID contentID, int32_t focusRequest) override
 Provider requested to switch to/focus this content within the category. Consumer may or may not follow this request. This is a purely Dcsm related message forwarded via ramses::DcsmContentControl event mechanism, see ramses::DcsmProvider::enableFocusRequest for more details. Application logic should react accordingly if it decides to accept the request, typically this means requesting the content to be ready and show afterwards using ramses::DcsmContentControl::requestContentReady and ramses::DcsmContentControl::showContent. More...
 
void contentDisableFocusRequest (ramses::ContentID contentID, int32_t focusRequest) override
 Provider requested to no longer focus this content within the category. Consumer may or may not follow this request. More...
 
- Public Member Functions inherited from ramses::IDcsmContentControlEventHandler
virtual ~IDcsmContentControlEventHandler ()=default
 Destructor. More...
 
- Public Member Functions inherited from ramses::IDcsmProviderEventHandler
virtual ~IDcsmProviderEventHandler ()=default
 Destructor. More...
 
- Public Member Functions inherited from ramses::RendererEventHandlerEmpty
virtual void offscreenBufferDestroyed (displayId_t displayId, displayBufferId_t offscreenBufferId, ERendererEventResult result) override
 This method will be called after an offscreen buffer is destroyed (or failed to be destroyed) as a result of RamsesRenderer API destroyOffscreenBuffer call. More...
 
virtual void framebufferPixelsRead (const uint8_t *pixelData, const uint32_t pixelDataSize, displayId_t displayId, displayBufferId_t displayBuffer, ERendererEventResult result) override
 This method will be called when a read back of pixels from display buffer was finished. This is the result of RamsesRenderer::readPixels call which triggers an asynchronous read back from the internal device. More...
 
virtual void warpingMeshDataUpdated (displayId_t displayId, ERendererEventResult result) override
 This method will be called when update of warping mesh data was finished. This is the result of RamsesRenderer::updateWarpingMeshData call which triggers an asynchronous update of warping data used by internal display. More...
 
virtual void displayCreated (displayId_t displayId, ERendererEventResult result) override
 This method will be called after a display was created (or failed to create) as a result of RamsesRenderer API createDisplay call. More...
 
virtual void displayDestroyed (displayId_t displayId, ERendererEventResult result) override
 This method will be called after a display was destroyed (or failed to destroy) as a result of RamsesRenderer API destroyDisplay call. More...
 
virtual void keyEvent (displayId_t displayId, EKeyEvent eventType, uint32_t keyModifiers, EKeyCode keyCode) override
 This method will be called when a key has been pressed while a display's window was focused. More...
 
virtual void mouseEvent (displayId_t displayId, EMouseEvent eventType, int32_t mousePosX, int32_t mousePosY) override
 This method will be called when a mouse event action has occured while a display's window was focused. More...
 
virtual void windowResized (displayId_t displayId, uint32_t width, uint32_t height) override
 This method will be called when a display's window has been resized. More...
 
virtual void windowMoved (displayId_t displayId, int32_t windowPosX, int32_t windowPosY) override
 This method will be called when a display's window has been moved, if the renderer uses WGL/Windows or X11/Linux as a window system. More...
 
virtual void renderThreadLoopTimings (std::chrono::microseconds maximumLoopTime, std::chrono::microseconds averageLooptime) override
 This method will be called in period given to renderer config (ramses::RendererConfig::setRenderThreadLoopTimingReportingPeriod) and provides rough performance indicators - maximum and average loop (frame) time within that measure period. It only reports timings for first display. More...
 
- Public Member Functions inherited from ramses::IRendererEventHandler
virtual ~IRendererEventHandler ()=default
 Empty destructor. More...
 

Detailed Description

Examples
ramses-example-local-client-dcsm/src/main.cpp.

Constructor & Destructor Documentation

◆ LocalDCSMExample()

LocalDCSMExample::LocalDCSMExample ( int32_t  argc,
char const *const *  argv 
)
inline

◆ ~LocalDCSMExample()

LocalDCSMExample::~LocalDCSMExample ( )
inlineoverride

Member Function Documentation

◆ contentAvailable()

void LocalDCSMExample::contentAvailable ( ContentID  contentID,
Category  categoryID 
)
inlineoverridevirtual

New content is available. This is a result of Dcsm content offer that requested category registered in the ramses::DcsmContentControl. This can also mean that content is released (its scene is not rendered anymore and resources are unloaded), as result of ramses::DcsmContentControl::releaseContent at finish time of animation if any provided, or if content state drops to available as result of its scene state change.

Parameters
contentIDContent that became available.
categoryIDCategory that the content was assigned to.

Reimplemented from ramses::DcsmContentControlEventHandlerEmpty.

◆ contentHide()

void LocalDCSMExample::contentHide ( ContentID  contentID,
AnimationInformation  animInfo 
)
inlineoverridevirtual

Called if a content will be switched to be hidden.

Parameters
contentIDThe ID of the content being hidden
animInfoanimation information for hiding the content: startTime: beginning of a potential animation endTime: end of a potential animation and time point when content gets hidden

Implements ramses::IDcsmProviderEventHandler.

◆ contentReady()

void LocalDCSMExample::contentReady ( ContentID  contentID,
DcsmContentControlEventResult  result 
)
inlineoverridevirtual

Content became ready or timed out to get ready. See ramses::DcsmContentControl::requestContentReady for details. This can also mean content has become hidden (its scene is not rendered anymore), as result of ramses::DcsmContentControl::hideContent at finish time of animation if any provided.

Parameters
contentIDContent that became ready or timed out.
resultOK if content became ready, TimedOut otherwise.

Reimplemented from ramses::DcsmContentControlEventHandlerEmpty.

◆ contentReadyRequested()

void LocalDCSMExample::contentReadyRequested ( ContentID  contentID)
inlineoverridevirtual

Called after a DcsmConsumer requested the content and it has not been marked ready yet. After this function has been called, markContentReady() of the DcsmProvider shall be called.

Parameters
contentIDThe ID of the content to be marked as ready

Implements ramses::IDcsmProviderEventHandler.

◆ contentRelease()

void LocalDCSMExample::contentRelease ( ContentID  contentID,
AnimationInformation  animInfo 
)
inlineoverridevirtual

Called after an assigned DcsmConsumer is no longer interested in the content or the scene associated with it. After the animation has been finished, the associated scene can be safely unpublished. Note that the content has to be marked ready again after the call of this callback, should a DcsmConsumer request it to be ready again.

Parameters
animInfoanimation information for resizing the content: startTime: beginning of a potential animation endTime: end of a potential animation and time point when content has to have new size
contentIDThe ID of the content to be released

Implements ramses::IDcsmProviderEventHandler.

◆ contentShow()

void LocalDCSMExample::contentShow ( ContentID  contentID,
AnimationInformation  animInfo 
)
inlineoverridevirtual

Called if a content will be switched to shown.

Parameters
contentIDThe ID of the shown content
animInfoanimation information for showing the content: startTime: beginning of a potential animation and time point when content gets shown endTime: end of a potential animation

Implements ramses::IDcsmProviderEventHandler.

◆ contentSizeChange()

void LocalDCSMExample::contentSizeChange ( ContentID  contentID,
const CategoryInfoUpdate categoryInfo,
AnimationInformation  animInfo 
)
inlineoverridevirtual

Called after the rendering viewport for the content has been changed. Will be called once after a DcsmConsumer assigned itself for the content, and every time the consumer changes the rendering viewport size.

Parameters
contentIDThe ID of the content for which the viewport changes
categoryInfothe new viewport
animInfoanimation information for resizing the content: startTime: beginning of a potential animation endTime: end of a potential animation and time point when content has to have new size

Implements ramses::IDcsmProviderEventHandler.

◆ offscreenBufferCreated()

void LocalDCSMExample::offscreenBufferCreated ( displayId_t  displayId,
displayBufferId_t  offscreenBufferId,
ERendererEventResult  result 
)
inlineoverridevirtual

This method will be called after an offscreen buffer is created (or failed to be created) as a result of RamsesRenderer API createOffscreenBuffer call.

Parameters
displayIdDisplay id of display that the callback refers to.
offscreenBufferIdThe id of the offscreen buffer that was created or failed to be created.
resultCan be ERendererEventResult_OK if succeeded, ERendererEventResult_FAIL if failed.

Reimplemented from ramses::RendererEventHandlerEmpty.

◆ run()

void LocalDCSMExample::run ( )
inline

◆ stopOfferAccepted()

void LocalDCSMExample::stopOfferAccepted ( ContentID  contentID,
AnimationInformation  animInfo 
)
inlineoverridevirtual

Called after a content was requested to no longer be offered. After this function returns, content is no longer offered. After the animation is finished, the associated scene can be safely unpublished.

Parameters
contentIDThe ID of the content to be unoffered
animInfoanimation information for hiding the content: startTime: beginning of a potential animation endTime: end of a potential animation and time point when content gets hidden

Implements ramses::IDcsmProviderEventHandler.

◆ windowClosed()

void LocalDCSMExample::windowClosed ( displayId_t  displayId)
inlineoverridevirtual

This method will be called when a display's window has been closed.

Parameters
displayIdThe display on which the event occurred

Reimplemented from ramses::RendererEventHandlerEmpty.


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