1 /*
2  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 
17 #ifndef ALIBABACLOUD_OCR_MODEL_RECOGNIZETAXIINVOICERESULT_H_
18 #define ALIBABACLOUD_OCR_MODEL_RECOGNIZETAXIINVOICERESULT_H_
19 
20 #include <string>
21 #include <vector>
22 #include <utility>
23 #include <alibabacloud/core/ServiceResult.h>
24 #include <alibabacloud/ocr/OcrExport.h>
25 
26 namespace AlibabaCloud
27 {
28 	namespace Ocr
29 	{
30 		namespace Model
31 		{
32 			class ALIBABACLOUD_OCR_EXPORT RecognizeTaxiInvoiceResult : public ServiceResult
33 			{
34 			public:
35 				struct Data
36 				{
37 					struct Invoice
38 					{
39 						struct InvoiceRoi
40 						{
41 							float w;
42 							float h;
43 							float x;
44 							float y;
45 						};
46 						struct Item
47 						{
48 							struct ItemRoi
49 							{
50 								struct Center
51 								{
52 									float x;
53 									float y;
54 								};
55 								struct Size
56 								{
57 									float w;
58 									float h;
59 								};
60 								Center center;
61 								float angle;
62 								Size size;
63 							};
64 							ItemRoi itemRoi;
65 							std::string text;
66 						};
67 						int rotateType;
68 						InvoiceRoi invoiceRoi;
69 						std::vector<Invoice::Item> items;
70 					};
71 					std::vector<Invoice> invoices;
72 				};
73 
74 
75 				RecognizeTaxiInvoiceResult();
76 				explicit RecognizeTaxiInvoiceResult(const std::string &payload);
77 				~RecognizeTaxiInvoiceResult();
78 				Data getData()const;
79 
80 			protected:
81 				void parse(const std::string &payload);
82 			private:
83 				Data data_;
84 
85 			};
86 		}
87 	}
88 }
89 #endif // !ALIBABACLOUD_OCR_MODEL_RECOGNIZETAXIINVOICERESULT_H_