aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/samples/SampleBase/core/Application.h
diff options
context:
space:
mode:
authormtamis <[email protected]>2017-02-28 18:24:59 +0100
committermtamis <[email protected]>2017-02-28 18:24:59 +0100
commit5581909a4d19db97304449f66404ff99a0429d3f (patch)
treea90f7eb85c095a8aba45cf5e909c82c1cdbed77d /NvCloth/samples/SampleBase/core/Application.h
parentFix cmake visual studio project generation (locate_gw_root.bat) (diff)
downloadnvcloth-5581909a4d19db97304449f66404ff99a0429d3f.tar.xz
nvcloth-5581909a4d19db97304449f66404ff99a0429d3f.zip
Add visual samples.
Diffstat (limited to 'NvCloth/samples/SampleBase/core/Application.h')
-rw-r--r--NvCloth/samples/SampleBase/core/Application.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/NvCloth/samples/SampleBase/core/Application.h b/NvCloth/samples/SampleBase/core/Application.h
new file mode 100644
index 0000000..286b40f
--- /dev/null
+++ b/NvCloth/samples/SampleBase/core/Application.h
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008-2017, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*/
+
+#ifndef APPLICATION_H
+#define APPLICATION_H
+
+#include <DeviceManager.h>
+#include <vector>
+#include <string>
+
+/**
+ISampleController adds more onstart and onstop callbacks to IVisualController
+*/
+class IApplicationController : public IVisualController
+{
+ public:
+ virtual void onInitialize() {}
+ virtual void onSampleStart() {}
+ virtual void onSampleStop() {}
+ virtual void onTerminate() {}
+};
+
+
+/**
+Main manager which runs sample.
+You have to add controllers to it which will receive all the start, animate, render etc. callbacks.
+*/
+class Application
+{
+public:
+ Application(std::wstring sampleName);
+ void addControllerToFront(IApplicationController* controller);
+
+ const std::vector<IApplicationController*>& getControllers() const
+ {
+ return m_controllers;
+ }
+
+ int run();
+
+private:
+ DeviceManager* m_deviceManager;
+ std::vector<IApplicationController*> m_controllers;
+ std::wstring m_sampleName;
+};
+
+
+#endif //APPLICATION_H \ No newline at end of file