cisst-saw
Loading...
Searching...
No Matches
cmnUnits.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Anton Deguet
6 Created on: 2008-08-21
7
8 (C) Copyright 2008-2015 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17
18*/
19
20
47#pragma once
48
49#ifndef _cmnUnits_h
50#define _cmnUnits_h
51
52// To determine if we are using SI (m) or millimeters by default
53#include <cisstConfig.h>
54
55// Always include last
57
58
59
63
66#if CISST_USE_SI_UNITS
67const double cmn_mm = 0.001;
68#else
69const double cmn_mm = 1.0;
70#endif
71
73inline double cmnInternalTo_mm(double valueInternalUnits) {
74 return valueInternalUnits / cmn_mm;
75}
76
79const double cmn_um = cmn_mm / 1000.0;
80
82inline double cmnInternalTo_um(double valueInternalUnits) {
83 return valueInternalUnits / cmn_um;
84}
85
88const double cmn_cm = 10.0 * cmn_mm;
89
91inline double cmnInternalTo_cm(double valueInternalUnits) {
92 return valueInternalUnits / cmn_cm;
93}
94
97#if CISST_USE_SI_UNITS
98const double cmn_m = 1.0;
99#else
100const double cmn_m = 1000.0;
101#endif
102
104inline double cmnInternalTo_m(double valueInternalUnits) {
105 return valueInternalUnits / cmn_m;
106}
107
110const double cmn_km = 1000.0 * cmn_m;
111
113inline double cmnInternalTo_km(double valueInternalUnits) {
114 return valueInternalUnits / cmn_km;
115}
116
117
118
119
123
126#if CISST_USE_SI_UNITS
127const double cmn_g = 0.001;
128#else
129const double cmn_g = 1.0;
130#endif
131
133inline double cmnInternalTo_g(double valueInternalUnits) {
134 return valueInternalUnits / cmn_g;
135}
136
139const double cmn_mg = cmn_g / 1000.0;
140
142inline double cmnInternalTo_mg(double valueInternalUnits) {
143 return valueInternalUnits / cmn_mg;
144}
145
148const double cmn_ug = cmn_mg / 1000.0;
149
151inline double cmnInternalTo_ug(double valueInternalUnits) {
152 return valueInternalUnits / cmn_ug;
153}
154
157const double cmn_cg = cmn_g / 100.0;
158
160inline double cmnInternalTo_cg(double valueInternalUnits) {
161 return valueInternalUnits / cmn_cg;
162}
163
166const double cmn_kg = 1000.0 * cmn_g;
167
169inline double cmnInternalTo_kg(double valueInternalUnits) {
170 return valueInternalUnits / cmn_kg;
171}
172
173
174
175
178
181const double cmn_s = 1.0;
182
184inline double cmnInternalTo_s(double valueInternalUnits) {
185 return valueInternalUnits / cmn_s;
186}
187
190const double cmn_ms = cmn_s / 1000.0;
191
193inline double cmnInternalTo_ms(double valueInternalUnits) {
194 return valueInternalUnits / cmn_ms;
195}
196
199const double cmn_us = cmn_ms / 1000.0;
200
202inline double cmnInternalTo_us(double valueInternalUnits) {
203 return valueInternalUnits / cmn_us;
204}
205
208const double cmn_ns = cmn_us / 1000.0;
209
211inline double cmnInternalTo_ns(double valueInternalUnits) {
212 return valueInternalUnits / cmn_ns;
213}
214
217const double cmn_minute = 60.0 * cmn_s;
218
220inline double cmnInternalTo_minute(double valueInternalUnits) {
221 return valueInternalUnits / cmn_minute;
222}
223
226const double cmn_hour = 60.0 * cmn_minute;
227
229inline double cmnInternalTo_hour(double valueInternalUnits) {
230 return valueInternalUnits / cmn_hour;
231}
232
235const double cmn_day = 24.0 * cmn_hour;
236
238inline double cmnInternalTo_day(double valueInternalUnits) {
239 return valueInternalUnits / cmn_day;
240}
241
243inline double cmnHzToPeriod(const double frequencyInHz) {
244 return cmn_s / frequencyInHz;
245}
246
248
249
250#endif // _cmnUnits_h
Macros to export the symbols of cisstCommon (in a Dll).
double cmnInternalTo_mm(double valueInternalUnits)
Definition cmnUnits.h:73
const double cmn_kg
Definition cmnUnits.h:166
const double cmn_minute
Definition cmnUnits.h:217
const double cmn_mg
Definition cmnUnits.h:139
double cmnInternalTo_s(double valueInternalUnits)
Definition cmnUnits.h:184
double cmnInternalTo_us(double valueInternalUnits)
Definition cmnUnits.h:202
double cmnInternalTo_km(double valueInternalUnits)
Definition cmnUnits.h:113
double cmnInternalTo_ms(double valueInternalUnits)
Definition cmnUnits.h:193
const double cmn_km
Definition cmnUnits.h:110
const double cmn_ns
Definition cmnUnits.h:208
double cmnInternalTo_kg(double valueInternalUnits)
Definition cmnUnits.h:169
const double cmn_g
Definition cmnUnits.h:129
const double cmn_cm
Definition cmnUnits.h:88
double cmnInternalTo_minute(double valueInternalUnits)
Definition cmnUnits.h:220
double cmnInternalTo_m(double valueInternalUnits)
Definition cmnUnits.h:104
const double cmn_ug
Definition cmnUnits.h:148
double cmnInternalTo_hour(double valueInternalUnits)
Definition cmnUnits.h:229
double cmnInternalTo_ug(double valueInternalUnits)
Definition cmnUnits.h:151
const double cmn_s
Definition cmnUnits.h:181
double cmnInternalTo_um(double valueInternalUnits)
Definition cmnUnits.h:82
const double cmn_um
Definition cmnUnits.h:79
double cmnInternalTo_day(double valueInternalUnits)
Definition cmnUnits.h:238
const double cmn_m
Definition cmnUnits.h:100
const double cmn_ms
Definition cmnUnits.h:190
double cmnInternalTo_cg(double valueInternalUnits)
Definition cmnUnits.h:160
double cmnInternalTo_ns(double valueInternalUnits)
Definition cmnUnits.h:211
double cmnInternalTo_g(double valueInternalUnits)
Definition cmnUnits.h:133
const double cmn_mm
Definition cmnUnits.h:69
const double cmn_day
Definition cmnUnits.h:235
const double cmn_us
Definition cmnUnits.h:199
double cmnHzToPeriod(const double frequencyInHz)
Definition cmnUnits.h:243
const double cmn_cg
Definition cmnUnits.h:157
double cmnInternalTo_mg(double valueInternalUnits)
Definition cmnUnits.h:142
const double cmn_hour
Definition cmnUnits.h:226
double cmnInternalTo_cm(double valueInternalUnits)
Definition cmnUnits.h:91