Init Tizen 2.2.1
[framework/osp/vision.git] / inc / FUixVisionImageObject.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     FUixVisionImageObject.h
21  * @brief    This is the header file for the %ImageObject class.
22  *
23  * This header file contains the declarations of the %ImageObject class.
24  */
25
26 #ifndef _FUIX_VISION_IMAGE_OBJECT_H_
27 #define _FUIX_VISION_IMAGE_OBJECT_H_
28
29 #include <FBaseObject.h>
30 #include <FGraphics.h>
31
32 namespace Tizen { namespace Uix { namespace Vision
33 {
34 /**
35  * @class    ImageObject
36  * @brief    This class represents a single image object recognized by the %ImageRecognizer class and provides methods to access the information of a recognized image object.
37  *
38  * @since    2.1
39  *
40  * The %ImageObject class represents a single image object recognized by the ImageRecognizer class and provides methods to access the information of a recognized image object.
41  *
42  */
43 class _OSP_EXPORT_ ImageObject
44     : public Tizen::Base::Object
45 {
46 public:
47     /**
48      * Gets the unique identifier of the recognized image object in the scene.
49      *
50      * @since        2.1
51      *
52      * @return       The unique identifier of the recognized image object in the scene
53      */
54     int GetId(void) const;
55
56     /**
57      * Gets the feature index of the recognized image object in the feature set.
58      *
59      * @since        2.1
60      *
61      * @return       The feature index of the recognized image object in the feature set
62      */
63     int GetFeatureId(void) const;
64
65     /**
66      * Gets the transformation matrix 4x4 for the 3D pose of the recognized image object.
67      *
68      * @since        2.1
69      *
70      * @return       A pointer to the transformation matrix 4x4 that contains the object position
71      */
72     const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
73
74     /**
75      * Gets the transformed quadrilateral of the recognized image object.
76      *
77      * @since        2.1
78      *
79      * @return       The array list that contains the 4 points of the quadrilateral of the recognized image object
80      */
81     const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
82
83     /**
84      * Compares the specified instance with the current instance.
85      *
86      * @since         2.1
87      *
88      * @return        @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageObject instance, @n
89      *                else @c false
90      * @param[in]     obj                 The object to compare
91      */
92     virtual bool Equals(const Tizen::Base::Object& obj) const;
93
94     /**
95      * Gets the hash value of the current instance.
96      *
97      * @since          2.1
98      *
99      * @return         The hash value of the current instance
100      */
101     virtual int GetHashCode(void) const;
102
103 private:
104     /**
105      * This is the default constructor for this class.
106      * The implementation of this constructor is declared as private to prohibit construction of the object by user.
107      *
108      * @since    2.1
109      */
110     ImageObject(void);
111
112     /**
113      * This is the destructor for this class. @n
114      * The resources are deallocated by this method.
115      * This destructor overrides Tizen::Base::Object::~Object().
116      *
117      * @since    2.1
118      */
119     ~ImageObject(void);
120     /**
121      * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
122      */
123     ImageObject(const ImageObject&);
124
125     /**
126      * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
127      */
128     ImageObject& operator=(const ImageObject&);
129
130 private:
131     class _ImageObjectImpl* __pImageObjectImpl;
132     friend class _ImageObjectImpl;
133 };
134
135 } } } //Tizen::Uix::Vision
136
137 #endif /* _FUIX_VISION_IMAGE_OBJECT_H_ */