Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  
igtl_unit.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: OpenIGTLink Library
4  Module: $HeadURL: $
5  Language: C
6  Date: $Date: 2009-11-13 11:37:44 -0500 (Fri, 13 Nov 2009) $
7  Version: $Revision: 5335 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notices for more information.
14 
15 =========================================================================*/
16 
17 #ifndef __IGTL_UNIT_H
18 #define __IGTL_UNIT_H
19 
20 #include "igtl_types.h"
21 #include "igtl_win32header.h"
22 #include "igtl_unit.h"
23 
24 
25 /* PREFIX */
26 #define IGTL_UNIT_PREFIX_NONE 0x0 /* None */
27 #define IGTL_UNIT_PREFIX_DEKA 0x1 /* deka (deca) (1e1) */
28 #define IGTL_UNIT_PREFIX_HECTO 0x2 /* hecto (1e2) */
29 #define IGTL_UNIT_PREFIX_KILO 0x3 /* kilo (1e3) */
30 #define IGTL_UNIT_PREFIX_MEGA 0x4 /* mega (1e6) */
31 #define IGTL_UNIT_PREFIX_GIGA 0x5 /* giga (1e9) */
32 #define IGTL_UNIT_PREFIX_TERA 0x6 /* tera (1e12) */
33 #define IGTL_UNIT_PREFIX_PETA 0x7 /* peta (1e15) */
34 #define IGTL_UNIT_PREFIX_DECI 0x9 /* deci (1e-1) */
35 #define IGTL_UNIT_PREFIX_CENTI 0xA /* centi (1e-2) */
36 #define IGTL_UNIT_PREFIX_MILLI 0xB /* milli (1e-3) */
37 #define IGTL_UNIT_PREFIX_MICRO 0xC /* micro (1e-6) */
38 #define IGTL_UNIT_PREFIX_NANO 0xD /* nano (1e-9) */
39 #define IGTL_UNIT_PREFIX_PICO 0xE /* pico (1e-12) */
40 #define IGTL_UNIT_PREFIX_FEMTO 0xF /* femto (1e-15) */
41 
42 /* SI Base Units */
43 #define IGTL_UNIT_SI_BASE_NONE 0x00
44 #define IGTL_UNIT_SI_BASE_METER 0x01 /* meter */
45 #define IGTL_UNIT_SI_BASE_GRAM 0x02 /* gram */
46 #define IGTL_UNIT_SI_BASE_SECOND 0x03 /* second */
47 #define IGTL_UNIT_SI_BASE_AMPERE 0x04 /* ampere */
48 #define IGTL_UNIT_SI_BASE_KELVIN 0x05 /* kelvin */
49 #define IGTL_UNIT_SI_BASE_MOLE 0x06 /* mole */
50 #define IGTL_UNIT_SI_BASE_CANDELA 0x07 /* candela */
51 
52 /* SI Derived Units */
53 #define IGTL_UNIT_SI_DERIVED_RADIAN 0x08 /* radian meter/meter */
54 #define IGTL_UNIT_SI_DERIVED_STERADIAN 0x09 /* steradian meter^2/meter^2 */
55 #define IGTL_UNIT_SI_DERIVED_HERTZ 0x0A /* hertz /second */
56 #define IGTL_UNIT_SI_DERIVED_NEWTON 0x0B /* newton meter-kilogram/second^2 */
57 #define IGTL_UNIT_SI_DERIVED_PASCAL 0x0C /* pascal kilogram/meter-second^2 */
58 #define IGTL_UNIT_SI_DERIVED_JOULE 0x0D /* joule meter^2-kilogram/second^2 */
59 #define IGTL_UNIT_SI_DERIVED_WATT 0x0E /* watt meter^2-kilogram/second^3 */
60 #define IGTL_UNIT_SI_DERIVED_COULOMB 0x0F /* coulomb second-ampere */
61 #define IGTL_UNIT_SI_DERIVED_VOLT 0x10 /* volt meter^2-kilogram/second^3-ampere */
62 #define IGTL_UNIT_SI_DERIVED_FARAD 0x11 /* farad second^4-ampere^2/meter^2-kilogram */
63 #define IGTL_UNIT_SI_DERIVED_OHM 0x12 /* ohm meter^2-kilogram/second^3-ampere^2 */
64 #define IGTL_UNIT_SI_DERIVED_SIEMENS 0x13 /* siemens second^3-ampere^2/meter^2-kilogram */
65 #define IGTL_UNIT_SI_DERIVED_WEBER 0x14 /* weber meter^2-kilogram/second^2-ampere */
66 #define IGTL_UNIT_SI_DERIVED_TESLA 0x15 /* tesla kilogram/second^2-ampere */
67 #define IGTL_UNIT_SI_DERIVED_HENRY 0x16 /* henry meter^2-kilogram/second^2-ampere^2 */
68 #define IGTL_UNIT_SI_DERIVED_LUMEN 0x17 /* lumen candela-steradian */
69 #define IGTL_UNIT_SI_DERIVED_LUX 0x18 /* lux candela-steradian/meter^2 */
70 #define IGTL_UNIT_SI_DERIVED_BECQUEREL 0x19 /* becquerel /second */
71 #define IGTL_UNIT_SI_DERIVED_GRAY 0x1A /* gray meter^2/second^2 */
72 #define IGTL_UNIT_SI_DERIVED_SIEVERT 0x1B /* sievert meter^2/second^2 */
73 
74 typedef igtl_uint64 igtl_unit;
75 
76 
77 #ifdef __cplusplus
78 extern "C" {
79 #endif
80 
81 typedef struct {
82  igtl_uint8 prefix; /* Prefix */
83  igtl_uint8 unit[6]; /* Either SI-Base or SI-Derived */
84  igtl_int8 exp[6]; /* Must be within [-7, 7] */
86 
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 #endif /* __IGTL_UNIT_H */
96 
97 
98 
99 
100 

Generated at Thu Mar 20 2014 16:32:06 for OpenIGTLink by doxygen 1.8.1.2 written by Dimitri van Heesch, © 1997-2000