DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
IModules.h
1 //=============================================================================
2 // See License in Related Pages
3 //=============================================================================
4 
5 #pragma once
6 
7 #ifndef DAVID_SDK_I_MODULES_H
8 #define DAVID_SDK_I_MODULES_H
9 
10 #include "davidSDK/Common.h"
11 #include "davidSDK/IStructuredLightScanner.h"
12 #include "davidSDK/IShapeFusion.h"
13 #include "davidSDK/IMeasure.h"
14 #include "davidSDK/ITurntable.h"
15 #include "davidSDK/IMainWindow.h"
16 
17 namespace david {
18 
19 //****************************************************************************
20 /// @addtogroup InterfaceGroup
21 /// @{
22 /// @defgroup ModulesGroup Modules access
23 /// Access functions to all supported module interfaces.
24 /// @{
25 //****************************************************************************
26 
27 //=============================================================================
28 // IModules
29 //=============================================================================
30 
31 /// Gives access to module interfaces.
32 class IModules
33 {
34 public:
35  /// Destructor.
36  virtual ~IModules() {}
37 
38  /// Returns an interface to the 'Structured Light Scanning' module.
39  /// @return Interface class for 'Structured Light Scanning' functions.
40  virtual IStructuredLightScanner& sls() = 0;
41 
42  /// Returns an interface to the 'Shape Fusion' module.
43  /// @return Interface class for 'Shape Fusion' functions.
44  virtual IShapeFusion& fusion() = 0;
45 
46  /// Returns an interface to the 'Turntable' module.
47  /// @return Interface class for 'Turntable' functions.
48  virtual ITurntable& turntable() = 0;
49 
50  /// Returns an interface to the 'Measurement' module.
51  /// @return Interface class for 'Measurement' functions.
52  virtual IMeasure& measure() = 0;
53 
54  /// Returns an interface to the 'Main Window' module.
55  /// @return Interface class for 'Main Window' functions.
56  virtual IMainWindow& mainWindow() = 0;
57 };
58 
59 /// @} InterfaceGroup
60 /// @} ModulesGroup
61 
62 } // namespace
63 
64 #endif // DAVID_SDK_I_MODULES_H