2 // Open Service Platform
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
20 * @file FUixVisionImageObject.h
21 * @brief This is the header file for the %ImageObject class.
23 * This header file contains the declarations of the %ImageObject class.
26 #ifndef _FUIX_VISION_IMAGE_OBJECT_H_
27 #define _FUIX_VISION_IMAGE_OBJECT_H_
29 #include <FBaseObject.h>
30 #include <FGraphics.h>
32 namespace Tizen { namespace Uix { namespace Vision
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.
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.
43 class _OSP_EXPORT_ ImageObject
44 : public Tizen::Base::Object
48 * Gets the unique identifier of the recognized image object in the scene.
52 * @return The unique identifier of the recognized image object in the scene
54 int GetId(void) const;
57 * Gets the feature index of the recognized image object in the feature set.
61 * @return The feature index of the recognized image object in the feature set
63 int GetFeatureId(void) const;
66 * Gets the transformation matrix 4x4 for the 3D pose of the recognized image object.
70 * @return A pointer to the transformation matrix 4x4 that contains the object position
72 const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
75 * Gets the transformed quadrilateral of the recognized image object.
79 * @return The array list that contains the 4 points of the quadrilateral of the recognized image object
81 const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
84 * Compares the specified instance with the current instance.
88 * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageObject instance, @n
90 * @param[in] obj The object to compare
92 virtual bool Equals(const Tizen::Base::Object& obj) const;
95 * Gets the hash value of the current instance.
99 * @return The hash value of the current instance
101 virtual int GetHashCode(void) const;
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.
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().
121 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
123 ImageObject(const ImageObject&);
126 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
128 ImageObject& operator=(const ImageObject&);
131 class _ImageObjectImpl* __pImageObjectImpl;
132 friend class _ImageObjectImpl;
135 } } } //Tizen::Uix::Vision
137 #endif /* _FUIX_VISION_IMAGE_OBJECT_H_ */