aboutsummaryrefslogtreecommitdiffstats
path: root/support/magicleap/Servo2D/code/inc.gen
diff options
context:
space:
mode:
Diffstat (limited to 'support/magicleap/Servo2D/code/inc.gen')
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/PrismSceneManager.h74
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/SceneDescriptor.h32
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/Servo2D/Servo2D.h63
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/SpawnedSceneBase.h43
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/SpawnedSceneHandlers.h31
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/SpawnedSceneUserData.h27
-rw-r--r--support/magicleap/Servo2D/code/inc.gen/scenes.h (renamed from support/magicleap/Servo2D/code/inc.gen/scenesGen.h)23
7 files changed, 269 insertions, 24 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];
+};
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/SceneDescriptor.h b/support/magicleap/Servo2D/code/inc.gen/SceneDescriptor.h
index db950700a13..c1b42119bae 100644
--- a/support/magicleap/Servo2D/code/inc.gen/SceneDescriptor.h
+++ b/support/magicleap/Servo2D/code/inc.gen/SceneDescriptor.h
@@ -1,9 +1,9 @@
-// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
+// -- 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 --
+// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
// %BANNER_BEGIN%
// ---------------------------------------------------------------------
@@ -17,6 +17,8 @@
// ---------------------------------------------------------------------
// %BANNER_END%
+// %SRC_VERSION%: 1
+
#pragma once
#include <string>
@@ -26,23 +28,31 @@
class SceneDescriptor {
public:
- typedef std::map<std::string /* exportedNodeName */, const std::string& /* exportedNodeId */> ExportedNodeReferences;
+ typedef std::map<std::string /* externalNodeName */, const std::string& /* externalNodeId */> ExternalNodeReferences;
- SceneDescriptor(const char* exportedName, const char* id, const char* sceneGraphFilePath, const char* resourceModelFilePath, const ExportedNodeReferences& exportedNodeReferences, bool initiallyInstanced);
- const std::string& getExportedName() const;
+ SceneDescriptor(int index, const char* externalName, const char* id, const char* sceneGraphFilePath, const char* resourceModelFilePath, const ExternalNodeReferences& externalNodeReferences, bool initiallySpawned);
+ const std::string& getExternalName() const;
const std::string& getId() const;
const std::string& getSceneGraphPath() const;
const std::string& getResourceModelPath() const;
- const ExportedNodeReferences & getExportedNodeReferences() const;
- bool getInitiallyInstanced() const;
+ const ExternalNodeReferences & getExternalNodeReferences() const;
+ bool getInitiallySpawned() const;
+
+ private:
+
+ friend class PrismSceneManager;
+ int getIndex() const;
private:
- std::string exportedName_;
+
+ int index_;
+ std::string externalName_;
std::string id_;
std::string sceneGraphPath_;
std::string resourceModelPath_;
- const ExportedNodeReferences& exportedNodeReferences_;
- bool initiallyInstanced_;
+ const ExternalNodeReferences& externalNodeReferences_;
+ bool initiallySpawned_;
};
-typedef std::map<std::string /* exportedName */, const SceneDescriptor&> SceneDescriptorReferences;
+bool operator<(const SceneDescriptor& a, const SceneDescriptor& b);
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/Servo2D/Servo2D.h b/support/magicleap/Servo2D/code/inc.gen/Servo2D/Servo2D.h
new file mode 100644
index 00000000000..1ed3d155f5a
--- /dev/null
+++ b/support/magicleap/Servo2D/code/inc.gen/Servo2D/Servo2D.h
@@ -0,0 +1,63 @@
+// -- 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 <SpawnedSceneBase.h>
+#include <SpawnedSceneHandlers.h>
+
+#include <lumin/node/LineNode.h>
+#include <lumin/node/QuadNode.h>
+#include <lumin/ui/node/UiButton.h>
+#include <lumin/ui/node/UiPanel.h>
+#include <lumin/ui/node/UiTextEdit.h>
+
+namespace scenes {
+
+ namespace Servo2D {
+
+ namespace externalNodes {
+ extern const std::string contentPanel;
+ extern const std::string content;
+ extern const std::string backButton;
+ extern const std::string fwdButton;
+ extern const std::string urlBar;
+ extern const std::string laser;
+ }
+
+ struct SpawnedScene : public SpawnedSceneBase {
+ SpawnedScene(const SceneDescriptor& sceneDescriptor, lumin::Node* root);
+ ~SpawnedScene();
+ lumin::ui::UiPanel* contentPanel;
+ lumin::QuadNode* content;
+ lumin::ui::UiButton* backButton;
+ lumin::ui::UiButton* fwdButton;
+ lumin::ui::UiTextEdit* urlBar;
+ lumin::LineNode* laser;
+ };
+
+ SpawnedSceneBase* createSpawnedScene(const SceneDescriptor& sceneDescriptor, lumin::Node* root);
+ SpawnedSceneHandlers* createSpawnedSceneHandlers(SpawnedSceneBase& spawnedScene);
+
+ extern const SceneDescriptor descriptor;
+ }
+}
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneBase.h b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneBase.h
new file mode 100644
index 00000000000..4b597bfdd73
--- /dev/null
+++ b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneBase.h
@@ -0,0 +1,43 @@
+// -- 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/node/Node.h>
+
+class SceneDescriptor;
+class SpawnedSceneHandlers;
+struct SpawnedSceneUserData;
+
+struct SpawnedSceneBase {
+ SpawnedSceneBase(const SceneDescriptor &sd, lumin::Node* rt);
+ virtual ~SpawnedSceneBase();
+
+ SpawnedSceneBase() = delete;
+ SpawnedSceneBase(const SpawnedSceneBase&) = delete;
+ SpawnedSceneBase(const SpawnedSceneBase&&) = delete;
+
+ const SceneDescriptor& sceneDescriptor;
+ lumin::Node* root = nullptr;
+ SpawnedSceneHandlers* handlers = nullptr;
+ SpawnedSceneUserData* userData = nullptr;
+};
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneHandlers.h b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneHandlers.h
new file mode 100644
index 00000000000..071a9c9bea6
--- /dev/null
+++ b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneHandlers.h
@@ -0,0 +1,31 @@
+// -- 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
+
+struct SpawnedSceneBase;
+
+class SpawnedSceneHandlers {
+public:
+ SpawnedSceneHandlers(SpawnedSceneBase& ssb);
+ virtual ~SpawnedSceneHandlers();
+};
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneUserData.h b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneUserData.h
new file mode 100644
index 00000000000..936efea6880
--- /dev/null
+++ b/support/magicleap/Servo2D/code/inc.gen/SpawnedSceneUserData.h
@@ -0,0 +1,27 @@
+// -- 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
+
+struct SpawnedSceneUserData {
+ virtual ~SpawnedSceneUserData();
+};
+
diff --git a/support/magicleap/Servo2D/code/inc.gen/scenesGen.h b/support/magicleap/Servo2D/code/inc.gen/scenes.h
index 4b2304ddbdb..73f00a033a1 100644
--- a/support/magicleap/Servo2D/code/inc.gen/scenesGen.h
+++ b/support/magicleap/Servo2D/code/inc.gen/scenes.h
@@ -1,9 +1,9 @@
-// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
+// -- 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 --
+// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
// %BANNER_BEGIN%
// ---------------------------------------------------------------------
@@ -17,20 +17,17 @@
// ---------------------------------------------------------------------
// %BANNER_END%
+// %SRC_VERSION%: 1
+
#pragma once
#include <SceneDescriptor.h>
-
-namespace Servo2D_exportedNodes {
- extern const std::string contentPanel;
- extern const std::string content;
- extern const std::string backButton;
- extern const std::string fwdButton;
- extern const std::string urlBar;
- extern const std::string laser;
-}
+#include <map>
namespace scenes {
- extern const SceneDescriptor Servo2D;
- extern const SceneDescriptorReferences exportedScenes;
+ const int numberOfExternalScenes = 1;
+
+ typedef std::map<std::string /* externalName */, const SceneDescriptor& /* sceneDescription */> SceneDescriptorReferences;
+ extern const SceneDescriptorReferences externalScenes;
}
+