aboutsummaryrefslogtreecommitdiffstats
path: root/support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h')
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h b/support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h
new file mode 100644
index 00000000000..82d43212325
--- /dev/null
+++ b/support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h
@@ -0,0 +1,74 @@
+// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
+//
+// THE CONTENTS OF THIS FILE IS GENERATED BY CODE AND
+// ANY MODIFICATIONS WILL BE OVERWRITTEN
+//
+// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
+
+// %BANNER_BEGIN%
+// ---------------------------------------------------------------------
+// %COPYRIGHT_BEGIN%
+//
+// Copyright (c) 2018 Magic Leap, Inc. All Rights Reserved.
+// Use of this file is governed by the Creator Agreement, located
+// here: https://id.magicleap.com/creator-terms
+//
+// %COPYRIGHT_END%
+// ---------------------------------------------------------------------
+// %BANNER_END%
+
+// %SRC_VERSION%: 1
+
+#pragma once
+
+#include <lumin/Prism.h>
+#include <lumin/node/Node.h>
+
+#include <SceneDescriptor.h>
+#include <SpawnedSceneBase.h>
+#include <SpawnedSceneUserData.h>
+#include <scenes.h>
+
+class PrismSceneManager {
+ public:
+
+ typedef std::function<SpawnedSceneUserData*(SpawnedSceneBase&)> (*CreateSpawnedSceneUserData);
+ static void setUserDataCreator(const SceneDescriptor & sceneDescriptor, CreateSpawnedSceneUserData createSpawnedSceneUserData);
+
+ public:
+
+ PrismSceneManager(lumin::Prism* prism);
+
+ enum class SceneState {
+ Unloaded,
+ ResourceModelLoaded,
+ ResourceAndObjectModelLoaded,
+ };
+
+ void setSceneState(const SceneDescriptor & sceneDescriptor, SceneState sceneState);
+ SceneState getSceneState(const SceneDescriptor & sceneDescriptor, SceneState sceneState) const;
+
+ SpawnedSceneBase* spawnScene(const SceneDescriptor & sceneDescriptor);
+ lumin::Node* spawn(const SceneDescriptor & sceneDescriptor);
+
+ private:
+
+ typedef SpawnedSceneBase* (*CreateSpawnedScene)(const SceneDescriptor& sceneDescriptor, lumin::Node* root);
+ static const CreateSpawnedScene createSpawnedScene[scenes::numberOfExternalScenes];
+
+ typedef SpawnedSceneHandlers* (*CreateSpawnedSceneHandlers)(SpawnedSceneBase& spawnedScene);
+ static const CreateSpawnedSceneHandlers createSpawnedSceneHandlers[scenes::numberOfExternalScenes];
+
+ static CreateSpawnedSceneUserData createSpawnedSceneUserData[scenes::numberOfExternalScenes];
+
+ private:
+
+ lumin::Node* createNodeTree(const SceneDescriptor & sceneDescriptor);
+
+ private:
+
+ lumin::Prism* prism_;
+ SceneState sceneStates_[scenes::numberOfExternalScenes];
+ std::string objectModelNames_[scenes::numberOfExternalScenes];
+};
+