SCENE C++ API  2.0.22
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 
60  CORE_API_EXPORT LSString getApiVersion() const;
61 
66 
74  CORE_API_EXPORT LSString registerTask(LSString name, ref_ptr<LSTask> task);
75 
80  CORE_API_EXPORT bool disableTask(LSString taskID);
81 
86  CORE_API_EXPORT bool isModuleAvailable(LSString moduleName) const;
87 
91  CORE_API_EXPORT LengthUnit getUnitsExportLength() const;
92 
96  CORE_API_EXPORT LengthUnit getUnitsDisplayLength() const;
97 
101  CORE_API_EXPORT AngleUnit getUnitsDisplayAngle() const;
102 
106  CORE_API_EXPORT LengthUnit getUnitsDisplaySmallsizes() const;
107 
108 
110 
111 
115 
117 
118 protected:
119  LS_INTERFACE(LSAppContext, LSAttributeContainer)
120 };
121 
122 }