patch for rc20
[framework/osp/vision.git] / inc / FUixVisionQrCodeObject.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18
19 /**
20  * @file     FUixVisionQrCodeObject.h
21  * @brief    This is the header file for the %QrCodeObject class.
22  *
23  * This header file contains the declarations of the %QrCodeObject class.
24  */
25
26 #ifndef _FUIX_VISION_QR_CODE_OBJECT_H_
27 #define _FUIX_VISION_QR_CODE_OBJECT_H_
28
29 #include <FUixVisionQrCodeTypes.h>
30 #include <FBaseObject.h>
31 #include <FBase.h>
32 #include <FGraphics.h>
33
34 namespace Tizen { namespace Uix { namespace Vision
35 {
36
37 /**
38  * @class    QrCodeObject
39  * @brief    This class represents a single QR code object recognized by the %QrCodeRecognizer class and provides methods to access the information of a recognized QR code object.
40  *
41  * @since    2.1
42  *
43  * The %QrCodeObject class represents a single QR code object recognized by the QrCodeRecognizer class and provides methods to access the information of a recognized QR code object.
44  */
45
46 class _OSP_EXPORT_ QrCodeObject
47     : public Tizen::Base::Object
48 {
49
50 public:
51
52     /**
53      * Gets the unique identifier of the recognized QR code object in the scene.
54      *
55      * @since        2.1
56      *
57      * @return       The unique identifier of the recognized QR code object in the scene
58      */
59     int GetId(void) const;
60
61     /**
62      * Gets the version of the recognized QR code object.
63      *
64      * @since        2.1
65      *
66      * @return       The version of the recognized QR code object
67      */
68     int GetVersion(void) const;
69
70     /**
71      * Gets the error correction level of the recognized QR code object.
72      *
73      * @since        2.1
74      *
75      * @return       The error correction level of the recognized QR code object
76      */
77     Tizen::Uix::Vision::QrCodeErrorCorrectionLevel GetErrorCorrectionLevel(void) const;
78
79     /**
80      * Gets the text of the QR code object.
81      *
82      * @since        2.1
83      *
84      * @return       The text of the QR code object
85      */
86     Tizen::Base::String GetText(void) const;
87
88     /**
89      * Gets the transformation matrix 4x4 for the 3D pose of the recognized QR code object.
90      *
91      * @since        2.1
92      *
93      * @return       A pointer to the transformation matrix 4x4 that contains the object position
94      */
95     const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
96
97     /**
98      * Gets the transformed quadrilateral of the recognized QR code object.
99      *
100      * @since        2.1
101      *
102      * @return       The array list that contains the 4 points of the quadrilateral of the recognized QR code object
103      */
104     const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
105
106     /**
107      * Compares the specified instance with the current instance.
108      *
109      * @since        2.1
110      *
111      * @return       @c true if the specified instance of Tizen::Base::Object is equal to the current %QrCodeObject instance, @n
112      *               else @c false
113      * @param[in]    obj                 The object to compare
114      */
115     virtual bool Equals(const Tizen::Base::Object& obj) const;
116
117     /**
118      * Gets the hash value of the current instance.
119      *
120      * @since     2.1
121      *
122      * @return    The hash value of the current instance
123      */
124     virtual int GetHashCode(void) const;
125
126 private:
127     /**
128      * This is the default constructor for this class.
129      * The implementation of this constructor is declared as private to prohibit construction of the object by user.
130      *
131      * @since    2.1
132      */
133     QrCodeObject(void);
134
135     /**
136      * This is the destructor for this class. @n
137      *
138      * @since    2.1
139      */
140     ~QrCodeObject(void);
141
142     /**
143      * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
144      */
145     QrCodeObject(const QrCodeObject&);
146
147     /**
148      * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
149      */
150     QrCodeObject& operator=(const QrCodeObject&);
151
152 private:
153     class _QrCodeObjectImpl* __pQrCodeObjectImpl;
154     friend class _QrCodeObjectImpl;
155 };
156
157 } } } //Tizen::Uix::Vision
158 #endif // _FUIX_VISION_QR_CODE_OBJECT_H_