IFrameProcessor.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: Process raw data from scanner
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 #ifndef _IFRAMEPROCESSOR_H_
11 #define _IFRAMEPROCESSOR_H_
12 
13 #include <artec/sdk/base/Errors.h>
14 #include <artec/sdk/base/IRef.h>
15 #include <artec/sdk/base/Rect.h>
19 
20 namespace artec { namespace sdk { namespace capturing
21 {
22 using namespace artec::sdk::base::errors;
23 
24 class IFrame;
25 
27 {
28 public:
29  /**
30  * Method reconstructs a surface from a frame data but don't texturize
31  * the output even if texture is captured. Texture mapping should be made
32  * explicitly through IFrameMesh::mapTexture() method
33  */
34  virtual ErrorCode reconstructMesh(artec::sdk::base::IFrameMesh** mesh, const IFrame* frame) = 0;
35 
36  /**
37  * Method reconstructs a surface from a frame data and texturize
38  * the output if texture is captured. This is slow method.
39  */
40  virtual ErrorCode reconstructAndTexturizeMesh(artec::sdk::base::IFrameMesh** mesh, const IFrame* frame) = 0;
41 
42  /**
43  * Set "improve by neighbor" sensitivity parameter
44  * used im mesh reconstruction
45  * can be changed while capture in progress
46  * @param sensitivity - value between 0.0f and 1.0f
47  */
48  virtual ErrorCode setSensitivity(float sensitivity) = 0;
49 
50  /**
51  * Get "improve by neighbor" sensitivity parameter
52  * used im mesh reconstruction
53  * @return sensitivity - value between 0.0f and 1.0f
54  */
55  virtual float getSensitivity() const = 0;
56 
57  /**
58  * Update scanning range
59  * can be changed while capture in progress
60  */
61  virtual ErrorCode setScanningRange(float rangeNear, float rangeFar) = 0;
62 
63  /**
64  * Update scanning range
65  * @param rangeNear - near range limit
66  * @param rangeFar - far range limit
67  */
68  virtual ErrorCode getScanningRange(float* rangeNear, float* rangeFar) const = 0;
69 
70  /**
71  * Update scanning region of interest
72  * can be changed while capture in progress
73  * call with rect == NULL for disable ROI
74  */
75  virtual ErrorCode setROI(artec::sdk::base::RectF* rect) = 0;
76 
77  /**
78  * Get scanning region of interest
79  * @param rect - rect to return
80  */
81  virtual ErrorCode getROI(artec::sdk::base::RectF* rect) const = 0;
82 };
83 
84 } } } // namespace artec::sdk::capturing
85 
86 #endif // _IFRAMEPROCESSOR_H_
This namespace is auto-generated from internal event code list.
Definition: Errors.h:55