Artec 3D Scanning SDK  2.0
IArrayFrame.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: Store array of IFrame objects (pointers).
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 
11 #ifndef _ARRAYIFRAME_H_
12 #define _ARRAYIFRAME_H_
13 
14 #include <artec/sdk/base/Errors.h>
15 #include <artec/sdk/base/IRef.h>
17 
18 
19 namespace artec { namespace sdk { namespace capturing
20 {
21 using namespace artec::sdk::base::errors;
22 
23 class IFrame;
24 class IArrayFrame;
25 
26 extern "C"
27 {
28  ErrorCode ACAPTURESDK_LINK_SPEC createArrayFrame(IArrayFrame** pArray, int elementsCount);
29 };
30 
31 /**
32 * This class represents an array of the IFrame pointers with methods for getting array size as well
33 * as getting and setting particular elements by their index in the array.
34 */
36 {
37 public:
39 
40  /**
41  * Get number of array elements.
42  * @return array size.
43  */
44  virtual int getSize() const = 0;
45 
46  /**
47  * Get frame pointer by its index in the array.
48  * @param index index of the frame to retrieve.
49  * @return pointer to the IFrame interface at a particular index in the array.
50  */
51  virtual const IFrame* getElement(int index) const = 0;
52 
53  /**
54  * Set a new frame object at a certain index in the array.
55  * @param index index of the frame to set.
56  * @param frame pointer to the frame object that will be stored in this location.
57  */
58  virtual ErrorCode setElement(int index, const IFrame* frame) = 0;
59 };
60 
61 } } }
62 
63 #endif
ErrorCode ACAPTURESDK_LINK_SPEC createArrayFrame(IArrayFrame **pArray, int elementsCount)
#define ACAPTURESDK_LINK_SPEC
Interface for captured frame (image + depth).
Definition: IFrame.h:25
This class represents an array of the IFrame pointers with methods for getting array size as well as ...
Definition: IArrayFrame.h:35
Interface that implements reference counting and life-time management.
Definition: IRef.h:22