Artec 3D Scanning SDK  2.0
IArrayScannerId.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: Store array of ScannerId structures.
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 
11 #ifndef _IARRAYSCANNERINFO_H_
12 #define _IARRAYSCANNERINFO_H_
13 
14 #include <artec/sdk/base/Errors.h>
15 #include <artec/sdk/base/IRef.h>
18 
19 namespace artec { namespace sdk { namespace capturing
20 {
21 using namespace artec::sdk::base::errors;
22 
23 /**
24 * Provides an access to the scanner identification info. The interface represents an array
25 * of ScannerIds with methods to get a raw pointer to array elements and their numbers.
26 */
28 {
29 public:
31 
32  /**
33  * Get number of array elements.
34  * @return array size.
35  */
36  virtual int getSize() const = 0;
37 
38  /**
39  * Get a read-only data pointer to the C-style ScannerId array.
40  * @return raw pointer to the C-style array containing scanner identification info.
41  */
42  virtual ScannerId* getPointer() const = 0;
43 };
44 
45 extern "C"
46 {
47 
49  /**
50  * Create ScannerId array with the default-constructed elements. The caller is responsible for freeing the returned array
51  * by using the delete[] operator.
52  *
53  * @param pArray destination array to hold the ScannerId elements.
54  * @param elementsCount number of elements that a newly constructed array will contain.
55  * @param zeroFill If it is true, the array will be filled with zeros; otherwise it will stay
56  * in the default-constructed state.
57  *
58  */
59  createArrayScannerId(IArrayScannerId** pArray, int elementsCount, bool zeroFill = false);
60 
61 }
62 
63 } } } // namespace artec::sdk::capturing
64 
65 #endif // _IARRAYSCANNERINFO_H_
Provides an access to the scanner identification info.
ErrorCode ACAPTURESDK_LINK_SPEC createArrayScannerId(IArrayScannerId **pArray, int elementsCount, bool zeroFill=false)
Create ScannerId array with the default-constructed elements.
Scanner identification parameters.
Definition: ScannerInfo.h:35
#define ACAPTURESDK_LINK_SPEC
Interface that implements reference counting and life-time management.
Definition: IRef.h:22