vid_us_unit.dart 6.6 KB

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