RAMSES Documentation  27.0.130
Information for RAMSES users and developers
IClientEventHandler.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2017 BMW Car IT GmbH
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_ICLIENTEVENTHANDLER_H
10 #define RAMSES_ICLIENTEVENTHANDLER_H
11 
15 
16 namespace ramses
17 {
18  class Scene;
19  class SceneReference;
20 
27  {
28  public:
37  virtual void sceneFileLoadFailed(const char* filename) = 0;
38 
48  virtual void sceneFileLoadSucceeded(const char* filename, Scene* loadedScene) = 0;
49 
62  virtual void sceneReferenceStateChanged(SceneReference& sceneRef, RendererSceneState state) = 0;
63 
75  virtual void sceneReferenceFlushed(SceneReference& sceneRef, sceneVersionTag_t versionTag) = 0;
76 
91  virtual void dataLinked(sceneId_t providerScene, dataProviderId_t providerId, sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
92 
104  virtual void dataUnlinked(sceneId_t consumerScene, dataConsumerId_t consumerId, bool success) = 0;
105 
109  virtual ~IClientEventHandler() = default;
110  };
111 }
112 
113 #endif
#define RAMSES_API
Definition: APIExport.h:35
Provides an interface for handling the result of client events. Implementation of this interface must...
Definition: IClientEventHandler.h:27
virtual void sceneReferenceStateChanged(SceneReference &sceneRef, RendererSceneState state)=0
This method will be called when state on renderer side of a scene referenced using ramses::SceneRefer...
virtual ~IClientEventHandler()=default
Empty destructor.
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 ...
virtual void sceneFileLoadFailed(const char *filename)=0
This method will be called when asynchronous loading of a scene or one of its associated resource fil...
virtual void sceneFileLoadSucceeded(const char *filename, Scene *loadedScene)=0
This method will be called when asynchronous loading of a scene file and its associated resource file...
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 sceneReferenceFlushed(SceneReference &sceneRef, sceneVersionTag_t versionTag)=0
This method will be called after a flush with version tag (ramses::Scene::flush) has been applied and...
The SceneReference object refers to another ramses scene using its sceneId.
Definition: SceneReference.h:37
The Scene holds a scene graph. It is the essential class for distributing content to the ramses syste...
Definition: Scene.h:83
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