2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 namespace Tizen.Multimedia.Vision
22 /// Represents a region with 4 <see cref="Point"/>s.
24 /// <since_tizen> 3 </since_tizen>
25 public class Quadrangle
29 /// Initializes a new instance of the <see cref="Quadrangle"/> class with an array of <see cref="Point"/>.
31 /// <remarks><paramref name="points"/> must have 4 elements.</remarks>
32 /// <param name="points">Four points that define the object bounding quadrangle.</param>
33 /// <exception cref="ArgumentException">The length of <paramref name="points"/> is not 4.</exception>
34 /// <since_tizen> 3 </since_tizen>
35 public Quadrangle(Point[] points)
37 if (points.Length != 4)
39 throw new ArgumentException($"{nameof(points)} must have 4 elements.");
46 /// Gets four points that define the object bounding quadrangle.
48 /// <since_tizen> 3 </since_tizen>
49 public Point[] Points { get; }
52 /// Returns a string that represents the current object.
54 /// <returns>A string that represents the current object.</returns>
55 public override string ToString() =>
56 $"[{{{Points[0].ToString()}}}, {{{Points[1].ToString()}}}, {{{Points[2].ToString()}}}, {{{Points[3].ToString()}}}]";