vid_us_unit.dart 6.9 KB

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