vid_us_unit.dart 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. enum VidUsUnit {
  2. None,
  3. percent,
  4. cm,
  5. mm,
  6. inch,
  7. ft,
  8. s,
  9. minute,
  10. hour,
  11. day,
  12. week,
  13. week_day,
  14. Tick,
  15. msec,
  16. degree,
  17. radian,
  18. g,
  19. mg,
  20. ng,
  21. kg,
  22. oz,
  23. lb,
  24. cm2,
  25. mm2,
  26. m2,
  27. cm3,
  28. mm3,
  29. ml,
  30. L,
  31. mil,
  32. cms,
  33. mms,
  34. ms,
  35. cms2,
  36. mms2,
  37. cm3s,
  38. mls,
  39. mlmin,
  40. Lmin,
  41. gcm3,
  42. gml,
  43. ngml,
  44. mmHg,
  45. mV,
  46. Hz,
  47. KHz,
  48. /// <summary>
  49. /// beats per minute
  50. /// </summary>
  51. HR,
  52. //SI
  53. cm3m2,
  54. mlm2,
  55. //CI
  56. cm3sm2,
  57. mlsm2,
  58. cm3minm2,
  59. mlminm2,
  60. Lminm2,
  61. mlmincm2,
  62. /// <summary>
  63. /// MVCF:mean velocity of circumferential fiber shortening
  64. /// </summary>
  65. circs,
  66. //CO
  67. mlbeat,
  68. mm2pa,
  69. d1mpa,
  70. kpa,
  71. mmHgs,
  72. gm2,
  73. /// AVA Index
  74. cm2m2
  75. }
  76. class VidUsUnitMap {
  77. //将单位值转换为单位
  78. static VidUsUnit getUnit(int unitValue) {
  79. switch (unitValue) {
  80. case 0:
  81. return VidUsUnit.None;
  82. case 1:
  83. return VidUsUnit.percent;
  84. case 10:
  85. return VidUsUnit.cm;
  86. case 11:
  87. return VidUsUnit.mm;
  88. case 12:
  89. return VidUsUnit.inch;
  90. case 13:
  91. return VidUsUnit.ft;
  92. case 20:
  93. return VidUsUnit.s;
  94. case 21:
  95. return VidUsUnit.minute;
  96. case 22:
  97. return VidUsUnit.hour;
  98. case 23:
  99. return VidUsUnit.day;
  100. case 24:
  101. return VidUsUnit.week;
  102. case 25:
  103. return VidUsUnit.week_day;
  104. case 26:
  105. return VidUsUnit.Tick;
  106. case 27:
  107. return VidUsUnit.msec;
  108. case 30:
  109. return VidUsUnit.degree;
  110. case 31:
  111. return VidUsUnit.radian;
  112. case 40:
  113. return VidUsUnit.g;
  114. case 41:
  115. return VidUsUnit.mg;
  116. case 42:
  117. return VidUsUnit.ng;
  118. case 43:
  119. return VidUsUnit.kg;
  120. case 44:
  121. return VidUsUnit.oz;
  122. case 45:
  123. return VidUsUnit.lb;
  124. case 50:
  125. return VidUsUnit.cm2;
  126. case 51:
  127. return VidUsUnit.mm2;
  128. case 52:
  129. return VidUsUnit.m2;
  130. case 60:
  131. return VidUsUnit.cm3;
  132. case 61:
  133. return VidUsUnit.mm3;
  134. case 62:
  135. return VidUsUnit.ml;
  136. case 63:
  137. return VidUsUnit.L;
  138. case 64:
  139. return VidUsUnit.mil;
  140. case 70:
  141. return VidUsUnit.cms;
  142. case 71:
  143. return VidUsUnit.mms;
  144. case 72:
  145. return VidUsUnit.ms;
  146. case 80:
  147. return VidUsUnit.cms2;
  148. case 81:
  149. return VidUsUnit.mms2;
  150. case 90:
  151. return VidUsUnit.cm3s;
  152. case 91:
  153. return VidUsUnit.mls;
  154. case 92:
  155. return VidUsUnit.mlmin;
  156. case 93:
  157. return VidUsUnit.Lmin;
  158. case 100:
  159. return VidUsUnit.gcm3;
  160. case 101:
  161. return VidUsUnit.gml;
  162. case 102:
  163. return VidUsUnit.ngml;
  164. case 110:
  165. return VidUsUnit.mmHg;
  166. case 120:
  167. return VidUsUnit.mV;
  168. case 130:
  169. return VidUsUnit.Hz;
  170. case 131:
  171. return VidUsUnit.KHz;
  172. case 132:
  173. return VidUsUnit.HR;
  174. case 140:
  175. return VidUsUnit.cm3m2;
  176. case 141:
  177. return VidUsUnit.mlm2;
  178. case 150:
  179. return VidUsUnit.cm3sm2;
  180. case 151:
  181. return VidUsUnit.mlsm2;
  182. case 153:
  183. return VidUsUnit.cm3minm2;
  184. case 154:
  185. return VidUsUnit.mlminm2;
  186. case 155:
  187. return VidUsUnit.Lminm2;
  188. case 156:
  189. return VidUsUnit.mlmincm2;
  190. case 160:
  191. return VidUsUnit.circs;
  192. case 170:
  193. return VidUsUnit.mlbeat;
  194. case 180:
  195. return VidUsUnit.mm2pa;
  196. case 181:
  197. return VidUsUnit.d1mpa;
  198. case 182:
  199. return VidUsUnit.kpa;
  200. case 190:
  201. return VidUsUnit.mmHgs;
  202. case 200:
  203. return VidUsUnit.gm2;
  204. case 210:
  205. return VidUsUnit.cm2m2;
  206. default:
  207. throw new FormatException('Not supported unit value $unitValue}');
  208. }
  209. }
  210. //将单位转换为单位值
  211. static int getUnitValue(VidUsUnit unit) {
  212. switch (unit) {
  213. case VidUsUnit.None:
  214. return 0;
  215. case VidUsUnit.percent:
  216. return 1;
  217. case VidUsUnit.cm:
  218. return 10;
  219. case VidUsUnit.mm:
  220. return 11;
  221. case VidUsUnit.inch:
  222. return 12;
  223. case VidUsUnit.ft:
  224. return 13;
  225. case VidUsUnit.s:
  226. return 20;
  227. case VidUsUnit.minute:
  228. return 21;
  229. case VidUsUnit.hour:
  230. return 22;
  231. case VidUsUnit.day:
  232. return 23;
  233. case VidUsUnit.week:
  234. return 24;
  235. case VidUsUnit.week_day:
  236. return 25;
  237. case VidUsUnit.Tick:
  238. return 26;
  239. case VidUsUnit.msec:
  240. return 27;
  241. case VidUsUnit.degree:
  242. return 30;
  243. case VidUsUnit.radian:
  244. return 31;
  245. case VidUsUnit.g:
  246. return 40;
  247. case VidUsUnit.mg:
  248. return 41;
  249. case VidUsUnit.ng:
  250. return 42;
  251. case VidUsUnit.kg:
  252. return 43;
  253. case VidUsUnit.oz:
  254. return 44;
  255. case VidUsUnit.lb:
  256. return 45;
  257. case VidUsUnit.cm2:
  258. return 50;
  259. case VidUsUnit.mm2:
  260. return 51;
  261. case VidUsUnit.m2:
  262. return 52;
  263. case VidUsUnit.cm3:
  264. return 60;
  265. case VidUsUnit.mm3:
  266. return 61;
  267. case VidUsUnit.ml:
  268. return 62;
  269. case VidUsUnit.L:
  270. return 63;
  271. case VidUsUnit.mil:
  272. return 64;
  273. case VidUsUnit.cms:
  274. return 70;
  275. case VidUsUnit.mms:
  276. return 71;
  277. case VidUsUnit.ms:
  278. return 72;
  279. case VidUsUnit.cms2:
  280. return 80;
  281. case VidUsUnit.mms2:
  282. return 81;
  283. case VidUsUnit.cm3s:
  284. return 90;
  285. case VidUsUnit.mls:
  286. return 91;
  287. case VidUsUnit.mlmin:
  288. return 92;
  289. case VidUsUnit.Lmin:
  290. return 93;
  291. case VidUsUnit.gcm3:
  292. return 100;
  293. case VidUsUnit.gml:
  294. return 101;
  295. case VidUsUnit.ngml:
  296. return 102;
  297. case VidUsUnit.mmHg:
  298. return 110;
  299. case VidUsUnit.mV:
  300. return 120;
  301. case VidUsUnit.Hz:
  302. return 130;
  303. case VidUsUnit.KHz:
  304. return 131;
  305. case VidUsUnit.HR:
  306. return 132;
  307. case VidUsUnit.cm3m2:
  308. return 140;
  309. case VidUsUnit.mlm2:
  310. return 141;
  311. case VidUsUnit.cm3sm2:
  312. return 150;
  313. case VidUsUnit.mlsm2:
  314. return 151;
  315. case VidUsUnit.cm3minm2:
  316. return 153;
  317. case VidUsUnit.mlminm2:
  318. return 154;
  319. case VidUsUnit.Lminm2:
  320. return 155;
  321. case VidUsUnit.mlmincm2:
  322. return 156;
  323. case VidUsUnit.circs:
  324. return 160;
  325. case VidUsUnit.mlbeat:
  326. return 170;
  327. case VidUsUnit.mm2pa:
  328. return 180;
  329. case VidUsUnit.d1mpa:
  330. return 181;
  331. case VidUsUnit.kpa:
  332. return 182;
  333. case VidUsUnit.mmHgs:
  334. return 190;
  335. case VidUsUnit.gm2:
  336. return 200;
  337. case VidUsUnit.cm2m2:
  338. return 210;
  339. default:
  340. throw new FormatException('Not supported unit $unit}');
  341. }
  342. }
  343. }