SCENE C++ API  2.1.0
lsappcontext.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsattributecontainer.h>
5 #include <core_api/lstask.h>
6 #include <core_api/lssignal.h>
7 #include <core_api/lsevent.h>
8 
9 namespace SCENE_API {
10 
11 // Forward declarations
12 class LSAppContext_Implementation;
13 
18 {
19  LS_UNCOPYABLE(LSAppContext)
20 
21 public:
22 
24  enum class LengthUnit : unsigned int
25  {
26  Meter = 0,
27  Centimeter = 1,
28  Millimeter = 2,
29  Yard = 3,
30  Feet = 4,
31  Inch = 5,
32  YardUS = 6,
33  FeetUS = 7,
34  InchUS = 8,
35  LastItem
36  };
37 
39  enum class AngleUnit : unsigned int
40  {
41  Degree = 0,
42  Radian = 1,
43  Gon = 2,
44  LastItem
45  };
46 
50  CORE_API_EXPORT LSString getAppName() const;
51 
55  CORE_API_EXPORT LSString getAppVersion() const;
56 
63  CORE_API_EXPORT LSString getApiVersion() const;
64 
69 
77  CORE_API_EXPORT LSString registerTask(LSString name, ref_ptr<LSTask> task);
78 
83  CORE_API_EXPORT bool disableTask(LSString taskID);
84 
106  CORE_API_EXPORT bool isModuleAvailable(LSString moduleName) const;
107 
111  CORE_API_EXPORT LengthUnit getUnitsExportLength() const;
112 
116  CORE_API_EXPORT LengthUnit getUnitsDisplayLength() const;
117 
121  CORE_API_EXPORT AngleUnit getUnitsDisplayAngle() const;
122 
126  CORE_API_EXPORT LengthUnit getUnitsDisplaySmallsizes() const;
127 
128 
130 
131 
135 
137 
138 protected:
139  LS_INTERFACE(LSAppContext, LSAttributeContainer)
140 };
141 
142 }