vid_us_unit.dart 6.9 KB

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