RAMSES Documentation  27.0.130
Information for RAMSES users and developers
RendererSceneControl.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_RENDERERSCENECONTROL_H
10 #define RAMSES_RENDERERSCENECONTROL_H
11 
15 
16 namespace ramses
17 {
18  class IRendererSceneControlEventHandler;
19 
33  {
34  public:
62 
88 
116  status_t setSceneDisplayBufferAssignment(sceneId_t sceneId, displayBufferId_t displayBuffer, int32_t sceneRenderOrder = 0);
117 
139 
162 
185 
200 
224  status_t handlePickEvent(sceneId_t sceneId, float bufferNormalizedCoordX, float bufferNormalizedCoordY);
225 
237 
254 
257 
260 
267 
269  class RendererSceneControlImpl& impl;
270 
271  private:
272  friend class RamsesRendererImpl;
273 
275  explicit RendererSceneControl(RendererSceneControlImpl&);
276 
278  virtual ~RendererSceneControl();
279  };
280 }
281 
282 #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
Control states of scenes.
Definition: RendererSceneControl.h:33
status_t linkExternalBuffer(externalBufferId_t externalBufferId, sceneId_t consumerSceneId, dataConsumerId_t consumerDataSlotId)
Links external buffer to a data consumer in scene.
status_t unlinkData(sceneId_t consumerSceneId, dataConsumerId_t consumerId)
Removes an existing link between data provider and consumer (linkData) or offscreen buffer and consum...
status_t setSceneState(sceneId_t sceneId, RendererSceneState state)
Request state change of a scene.
status_t linkOffscreenBuffer(displayBufferId_t offscreenBufferId, sceneId_t consumerSceneId, dataConsumerId_t consumerDataSlotId)
Links display's offscreen buffer to a data consumer in scene.
status_t setSceneMapping(sceneId_t sceneId, displayId_t displayId)
Set scene display mapping.
RendererSceneControl()=delete
Deleted default constructor.
RendererSceneControl(const RendererSceneControl &)=delete
Deleted copy constructor.
class RendererSceneControlImpl & impl
Stores internal data for implementation specifics.
Definition: RendererSceneControl.h:269
status_t handlePickEvent(sceneId_t sceneId, float bufferNormalizedCoordX, float bufferNormalizedCoordY)
Trigger renderer to test if given pick event with coordinates intersects with any instances of ramses...
status_t dispatchEvents(IRendererSceneControlEventHandler &eventHandler)
RendererSceneControl methods push commands to an internal queue which is submitted when calling flush...
status_t setSceneDisplayBufferAssignment(sceneId_t sceneId, displayBufferId_t displayBuffer, int32_t sceneRenderOrder=0)
Set scene display buffer assignment.
RendererSceneControl & operator=(const RendererSceneControl &other)=delete
Deleted copy assignment.
status_t linkData(sceneId_t providerSceneId, dataProviderId_t providerId, sceneId_t consumerSceneId, dataConsumerId_t consumerId)
Links a data provider from one scene to a data consumer in another scene.
status_t flush()
Submits scene control commands (API calls on RendererSceneControl) since previous flush to be execute...
The StatusObject provides status message handling.
Definition: StatusObject.h:22
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
uint32_t status_t
Status is a handle to the result of an API call.
Definition: RamsesFrameworkTypes.h:26
RendererSceneState
Definition: RendererSceneState.h:19
constexpr ramses::sceneId_t consumerSceneId(2u)
constexpr ramses::sceneId_t providerSceneId(1u)