Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
a2753e85
Commit
a2753e85
authored
Jun 09, 2012
by
Wayne Stambaugh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added file include/convert_from_iu.h left out of last commit.
parent
2d0d8050
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
84 additions
and
0 deletions
+84
-0
convert_from_iu.h
include/convert_from_iu.h
+84
-0
No files found.
include/convert_from_iu.h
0 → 100644
View file @
a2753e85
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2012 CERN
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file convert_from_iu.h
* @brief Definitions and functions to convert from internal units to user units
* depending upon the application and/or build options.
*/
#ifndef _CONVERT_FROM_IU_
#define _CONVERT_FROM_IU_
#include <config.h> // USE_PCBNEW_NANOMETRES is defined here
/// Convert from internal units to user units.
#if defined(PCBNEW) || defined(CVPCB) || defined(GERBVIEW)
#if defined( USE_PCBNEW_NANOMETRES )
#if defined(GERBVIEW)
#define MM_PER_IU 1.0 / 1e5 // Gerbview uses 10 micrometer.
#else
#define MM_PER_IU 1.0 / 1e6 // Pcbnew in nanometers.
#endif
#define MILS_PER_IU ( MM_PER_IU * 0.0254 )
#define DECIMILS_PER_IU (MM_PER_IU * 0.00254 )
#else // Pcbnew in deci-mils.
#define DECIMILS_PER_IU 1
#define MILS_PER_IU 10.0
#define MM_PER_IU (1e4 / 25.4)
#endif
/// Convert PCBNEW internal units (iu) to mils.
inline
int
Iu2Mils
(
int
iu
)
{
#if defined( USE_PCBNEW_NANOMETRES )
double
x
=
iu
*
MILS_PER_IU
;
return
int
(
x
<
0
?
x
-
0
.
5
:
x
+
0
.
5
);
#else
return
iu
*
MILS_PER_IU
;
#endif
}
/// Convert PCBNEW internal units (iu) to deci-mils.
inline
int
Iu2DMils
(
int
iu
)
{
#if defined( USE_PCBNEW_NANOMETRES )
double
x
=
iu
*
DECIMILS_PER_IU
;
return
int
(
x
<
0
?
x
-
0
.
5
:
x
+
0
.
5
);
#else
return
iu
;
#endif
}
#else // Eeschema and anything else.
#define MILS_PER_IU 1.0
#define MM_PER_IU (MILS_PER_IU / 0.0254)
inline
int
Iu2Mils
(
int
iu
)
{
return
iu
;
}
#endif
#endif // #define _CONVERT_FROM_IU_
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment