Remove IU_PER_MM thats standalone
This commit is contained in:
parent
da484b571e
commit
66e8931405
|
@ -42,7 +42,7 @@
|
||||||
/**
|
/**
|
||||||
* Scale conversion from 3d model units to pcb units
|
* Scale conversion from 3d model units to pcb units
|
||||||
*/
|
*/
|
||||||
#define UNITS3D_TO_UNITSPCB (IU_PER_MM)
|
#define UNITS3D_TO_UNITSPCB ( pcbIUScale.IU_PER_MM )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trace mask used to enable or disable the trace output of this class.
|
* Trace mask used to enable or disable the trace output of this class.
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
/**
|
/**
|
||||||
* Scale conversion from 3d model units to pcb units
|
* Scale conversion from 3d model units to pcb units
|
||||||
*/
|
*/
|
||||||
#define UNITS3D_TO_UNITSPCB (IU_PER_MM)
|
#define UNITS3D_TO_UNITSPCB ( pcbIUScale.IU_PER_MM )
|
||||||
|
|
||||||
RENDER_3D_OPENGL::RENDER_3D_OPENGL( EDA_3D_CANVAS* aCanvas, BOARD_ADAPTER& aAdapter,
|
RENDER_3D_OPENGL::RENDER_3D_OPENGL( EDA_3D_CANVAS* aCanvas, BOARD_ADAPTER& aAdapter,
|
||||||
CAMERA& aCamera ) :
|
CAMERA& aCamera ) :
|
||||||
|
@ -1387,7 +1387,7 @@ void RENDER_3D_OPENGL::generate3dGrid( GRID3D_TYPE aGridType )
|
||||||
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b,
|
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b,
|
||||||
transparency );
|
transparency );
|
||||||
|
|
||||||
const int delta = KiROUND( ii * griSizeMM * IU_PER_MM );
|
const int delta = KiROUND( ii * griSizeMM * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
if( delta <= xsize / 2 ) // Draw grid lines parallel to X axis
|
if( delta <= xsize / 2 ) // Draw grid lines parallel to X axis
|
||||||
{
|
{
|
||||||
|
@ -1439,7 +1439,7 @@ void RENDER_3D_OPENGL::generate3dGrid( GRID3D_TYPE aGridType )
|
||||||
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b,
|
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b,
|
||||||
transparency );
|
transparency );
|
||||||
|
|
||||||
const double delta = ii * griSizeMM * IU_PER_MM;
|
const double delta = ii * griSizeMM * pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
glBegin( GL_LINES );
|
glBegin( GL_LINES );
|
||||||
xmax = ( brd_center_pos.x + delta ) * scale;
|
xmax = ( brd_center_pos.x + delta ) * scale;
|
||||||
|
@ -1469,7 +1469,7 @@ void RENDER_3D_OPENGL::generate3dGrid( GRID3D_TYPE aGridType )
|
||||||
else
|
else
|
||||||
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b, transparency );
|
glColor4f( gridColor_marker.r, gridColor_marker.g, gridColor_marker.b, transparency );
|
||||||
|
|
||||||
const double delta = ii * griSizeMM * IU_PER_MM * scale;
|
const double delta = ii * griSizeMM * pcbIUScale.IU_PER_MM * scale;
|
||||||
|
|
||||||
if( delta <= zmax )
|
if( delta <= zmax )
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,7 +65,7 @@ static float TransparencyControl( float aGrayColorValue, float aTransparency )
|
||||||
/**
|
/**
|
||||||
* Scale conversion from 3d model units to pcb units
|
* Scale conversion from 3d model units to pcb units
|
||||||
*/
|
*/
|
||||||
#define UNITS3D_TO_UNITSPCB ( IU_PER_MM )
|
#define UNITS3D_TO_UNITSPCB ( pcbIUScale.IU_PER_MM )
|
||||||
|
|
||||||
|
|
||||||
void RENDER_3D_RAYTRACE::setupMaterials()
|
void RENDER_3D_RAYTRACE::setupMaterials()
|
||||||
|
@ -76,7 +76,7 @@ void RENDER_3D_RAYTRACE::setupMaterials()
|
||||||
MATERIAL::SetDefaultRefractionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_refractions );
|
MATERIAL::SetDefaultRefractionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_refractions );
|
||||||
MATERIAL::SetDefaultReflectionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_reflections );
|
MATERIAL::SetDefaultReflectionRecursionCount( m_boardAdapter.m_Cfg->m_Render.raytrace_recursivelevel_reflections );
|
||||||
|
|
||||||
double mmTo3Dunits = IU_PER_MM * m_boardAdapter.BiuTo3dUnits();
|
double mmTo3Dunits = pcbIUScale.IU_PER_MM * m_boardAdapter.BiuTo3dUnits();
|
||||||
|
|
||||||
if( m_boardAdapter.m_Cfg->m_Render.raytrace_procedural_textures )
|
if( m_boardAdapter.m_Cfg->m_Render.raytrace_procedural_textures )
|
||||||
{
|
{
|
||||||
|
|
|
@ -152,7 +152,7 @@ void DIALOG_PLOT_SCHEMATIC::initDlg()
|
||||||
m_HPGLPaperSizeSelect = cfg->m_PlotPanel.hpgl_paper_size;
|
m_HPGLPaperSizeSelect = cfg->m_PlotPanel.hpgl_paper_size;
|
||||||
|
|
||||||
// HPGL Pen Size is stored in mm in config
|
// HPGL Pen Size is stored in mm in config
|
||||||
m_HPGLPenSize = cfg->m_PlotPanel.hpgl_pen_size * IU_PER_MM;
|
m_HPGLPenSize = cfg->m_PlotPanel.hpgl_pen_size * schIUScale.IU_PER_MM;
|
||||||
|
|
||||||
// Switch to the last save plot format
|
// Switch to the last save plot format
|
||||||
PLOT_FORMAT fmt = static_cast<PLOT_FORMAT>( cfg->m_PlotPanel.format );
|
PLOT_FORMAT fmt = static_cast<PLOT_FORMAT>( cfg->m_PlotPanel.format );
|
||||||
|
@ -343,7 +343,7 @@ void DIALOG_PLOT_SCHEMATIC::getPlotOptions( RENDER_SETTINGS* aSettings )
|
||||||
cfg->m_PlotPanel.open_file_after_plot = getOpenFileAfterPlot();
|
cfg->m_PlotPanel.open_file_after_plot = getOpenFileAfterPlot();
|
||||||
|
|
||||||
// HPGL Pen Size is stored in mm in config
|
// HPGL Pen Size is stored in mm in config
|
||||||
cfg->m_PlotPanel.hpgl_pen_size = m_HPGLPenSize / IU_PER_MM;
|
cfg->m_PlotPanel.hpgl_pen_size = m_HPGLPenSize / schIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
|
|
||||||
aSettings->LoadColors( colors );
|
aSettings->LoadColors( colors );
|
||||||
|
|
|
@ -107,7 +107,7 @@ SCH_RENDER_SETTINGS::SCH_RENDER_SETTINGS() :
|
||||||
SetDashLengthRatio( 12 ); // From ISO 128-2
|
SetDashLengthRatio( 12 ); // From ISO 128-2
|
||||||
SetGapLengthRatio( 3 ); // From ISO 128-2
|
SetGapLengthRatio( 3 ); // From ISO 128-2
|
||||||
|
|
||||||
m_minPenWidth = ADVANCED_CFG::GetCfg().m_MinPlotPenWidth * IU_PER_MM;
|
m_minPenWidth = ADVANCED_CFG::GetCfg().m_MinPlotPenWidth * schIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -448,7 +448,7 @@ LIB_ITEM* SCH_SEXPR_PARSER::ParseDrawItem()
|
||||||
|
|
||||||
int SCH_SEXPR_PARSER::parseInternalUnits()
|
int SCH_SEXPR_PARSER::parseInternalUnits()
|
||||||
{
|
{
|
||||||
auto retval = parseDouble() * IU_PER_MM;
|
auto retval = parseDouble() * schIUScale.IU_PER_MM;
|
||||||
|
|
||||||
// Schematic internal units are represented as integers. Any values that are
|
// Schematic internal units are represented as integers. Any values that are
|
||||||
// larger or smaller than the schematic units represent undefined behavior for
|
// larger or smaller than the schematic units represent undefined behavior for
|
||||||
|
@ -461,7 +461,7 @@ int SCH_SEXPR_PARSER::parseInternalUnits()
|
||||||
|
|
||||||
int SCH_SEXPR_PARSER::parseInternalUnits( const char* aExpected )
|
int SCH_SEXPR_PARSER::parseInternalUnits( const char* aExpected )
|
||||||
{
|
{
|
||||||
auto retval = parseDouble( aExpected ) * IU_PER_MM;
|
auto retval = parseDouble( aExpected ) * schIUScale.IU_PER_MM;
|
||||||
|
|
||||||
constexpr double int_limit = std::numeric_limits<int>::max() * 0.7071;
|
constexpr double int_limit = std::numeric_limits<int>::max() * 0.7071;
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ int SCH_SEXPR_PARSER::parseInternalUnits( const char* aExpected )
|
||||||
|
|
||||||
void SCH_SEXPR_PARSER::parseStroke( STROKE_PARAMS& aStroke )
|
void SCH_SEXPR_PARSER::parseStroke( STROKE_PARAMS& aStroke )
|
||||||
{
|
{
|
||||||
STROKE_PARAMS_PARSER strokeParser( reader, IU_PER_MM );
|
STROKE_PARAMS_PARSER strokeParser( reader, schIUScale.IU_PER_MM );
|
||||||
strokeParser.SyncLineReaderWith( *this );
|
strokeParser.SyncLineReaderWith( *this );
|
||||||
|
|
||||||
strokeParser.ParseStroke( aStroke );
|
strokeParser.ParseStroke( aStroke );
|
||||||
|
|
|
@ -170,7 +170,7 @@ private:
|
||||||
*/
|
*/
|
||||||
double MapToPcbUnits( int aValue ) const
|
double MapToPcbUnits( int aValue ) const
|
||||||
{
|
{
|
||||||
return aValue / IU_PER_MM;
|
return aValue / gerbIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -46,7 +46,7 @@ EDA_DRAW_PANEL_GAL( aParentWindow, aWindowId, aPosition, aSize, aOptions, aGalTy
|
||||||
{
|
{
|
||||||
m_view = new KIGFX::VIEW( true );
|
m_view = new KIGFX::VIEW( true );
|
||||||
m_view->SetGAL( m_gal );
|
m_view->SetGAL( m_gal );
|
||||||
GetGAL()->SetWorldUnitLength( 1.0/IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
GetGAL()->SetWorldUnitLength( 1.0/gerbIUScale.IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
||||||
|
|
||||||
m_painter = std::make_unique<KIGFX::GERBVIEW_PAINTER>( m_gal );
|
m_painter = std::make_unique<KIGFX::GERBVIEW_PAINTER>( m_gal );
|
||||||
m_view->SetPainter( m_painter.get() );
|
m_view->SetPainter( m_painter.get() );
|
||||||
|
@ -139,7 +139,7 @@ bool GERBVIEW_DRAW_PANEL_GAL::SwitchBackend( GAL_TYPE aGalType )
|
||||||
|
|
||||||
setDefaultLayerDeps();
|
setDefaultLayerDeps();
|
||||||
|
|
||||||
GetGAL()->SetWorldUnitLength( 1.0/IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
GetGAL()->SetWorldUnitLength( 1.0/gerbIUScale.IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ void GERBVIEW_PRINTOUT::setupViewLayers( KIGFX::VIEW& aView, const LSET& aLayerS
|
||||||
void GERBVIEW_PRINTOUT::setupGal( KIGFX::GAL* aGal )
|
void GERBVIEW_PRINTOUT::setupGal( KIGFX::GAL* aGal )
|
||||||
{
|
{
|
||||||
BOARD_PRINTOUT::setupGal( aGal );
|
BOARD_PRINTOUT::setupGal( aGal );
|
||||||
aGal->SetWorldUnitLength( 1.0/IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
aGal->SetWorldUnitLength( 1.0/ gerbIUScale.IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -318,7 +318,7 @@ void GERBVIEW_FRAME::updateDCodeSelectBox()
|
||||||
switch( GetUserUnits() )
|
switch( GetUserUnits() )
|
||||||
{
|
{
|
||||||
case EDA_UNITS::MILLIMETRES:
|
case EDA_UNITS::MILLIMETRES:
|
||||||
scale = IU_PER_MM;
|
scale = gerbIUScale.IU_PER_MM;
|
||||||
units = wxT( "mm" );
|
units = wxT( "mm" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ int GERBVIEW_INSPECTION_TOOL::ShowDCodes( const TOOL_EVENT& aEvent )
|
||||||
switch( m_frame->GetUserUnits() )
|
switch( m_frame->GetUserUnits() )
|
||||||
{
|
{
|
||||||
case EDA_UNITS::MILLIMETRES:
|
case EDA_UNITS::MILLIMETRES:
|
||||||
scale = IU_PER_MM;
|
scale = gerbIUScale.IU_PER_MM;
|
||||||
units = wxT( "mm" );
|
units = wxT( "mm" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -112,21 +112,6 @@ constexpr EDA_IU_SCALE pcbIUScale = EDA_IU_SCALE( PCB_IU_PER_MM );
|
||||||
constexpr EDA_IU_SCALE drawSheetIUScale = EDA_IU_SCALE( PL_IU_PER_MM );
|
constexpr EDA_IU_SCALE drawSheetIUScale = EDA_IU_SCALE( PL_IU_PER_MM );
|
||||||
constexpr EDA_IU_SCALE schIUScale = EDA_IU_SCALE( SCH_IU_PER_MM );
|
constexpr EDA_IU_SCALE schIUScale = EDA_IU_SCALE( SCH_IU_PER_MM );
|
||||||
|
|
||||||
/// Scaling factor to convert mils to internal units.
|
|
||||||
#if defined(PCBNEW) || defined(CVPCB)
|
|
||||||
constexpr double IU_PER_MM = PCB_IU_PER_MM;
|
|
||||||
#elif defined(GERBVIEW)
|
|
||||||
constexpr double IU_PER_MM = GERB_IU_PER_MM;
|
|
||||||
#elif defined(PL_EDITOR)
|
|
||||||
constexpr double IU_PER_MM = PL_IU_PER_MM;
|
|
||||||
#elif defined(EESCHEMA)
|
|
||||||
constexpr double IU_PER_MM = SCH_IU_PER_MM;
|
|
||||||
#else
|
|
||||||
#define UNKNOWN_IU
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef UNKNOWN_IU
|
|
||||||
|
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
// The max error is the distance between the middle of a segment, and the circle
|
// The max error is the distance between the middle of a segment, and the circle
|
||||||
// for circle/arc to segment approximation.
|
// for circle/arc to segment approximation.
|
||||||
|
@ -135,6 +120,4 @@ constexpr double IU_PER_MM = SCH_IU_PER_MM;
|
||||||
|
|
||||||
constexpr int ARC_LOW_DEF = pcbIUScale.mmToIU( 0.02 );
|
constexpr int ARC_LOW_DEF = pcbIUScale.mmToIU( 0.02 );
|
||||||
constexpr int ARC_HIGH_DEF = pcbIUScale.mmToIU( 0.005 );
|
constexpr int ARC_HIGH_DEF = pcbIUScale.mmToIU( 0.005 );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
|
@ -50,7 +50,7 @@ PL_DRAW_PANEL_GAL::PL_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWindo
|
||||||
m_view = new KIGFX::VIEW( true );
|
m_view = new KIGFX::VIEW( true );
|
||||||
m_view->SetGAL( m_gal );
|
m_view->SetGAL( m_gal );
|
||||||
|
|
||||||
GetGAL()->SetWorldUnitLength( 1.0/IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
GetGAL()->SetWorldUnitLength( 1.0/drawSheetIUScale.IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
||||||
|
|
||||||
m_painter = std::make_unique<KIGFX::DS_PAINTER>( m_gal );
|
m_painter = std::make_unique<KIGFX::DS_PAINTER>( m_gal );
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ bool PL_DRAW_PANEL_GAL::SwitchBackend( GAL_TYPE aGalType )
|
||||||
|
|
||||||
setDefaultLayerDeps();
|
setDefaultLayerDeps();
|
||||||
|
|
||||||
GetGAL()->SetWorldUnitLength( 1.0/IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
GetGAL()->SetWorldUnitLength( 1.0/drawSheetIUScale.IU_PER_MM /* 10 nm */ / 25.4 /* 1 inch in mm */ );
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,9 +58,9 @@ struct TSubRect : public CRectPlacement::TRect
|
||||||
typedef std::vector<TSubRect> CSubRectArray;
|
typedef std::vector<TSubRect> CSubRectArray;
|
||||||
|
|
||||||
// Use 0.01 mm units to calculate placement, to avoid long calculation time
|
// Use 0.01 mm units to calculate placement, to avoid long calculation time
|
||||||
const int scale = (int)(0.01 * IU_PER_MM);
|
const int scale = (int) ( 0.01 * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
const int PADDING = (int)(1 * IU_PER_MM);
|
const int PADDING = (int) ( 1 * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
// Populates a list of rectangles, from a list of footprints
|
// Populates a list of rectangles, from a list of footprints
|
||||||
void fillRectList( CSubRectArray& vecSubRects, std::vector <FOOTPRINT*>& aFootprintList )
|
void fillRectList( CSubRectArray& vecSubRects, std::vector <FOOTPRINT*>& aFootprintList )
|
||||||
|
|
|
@ -757,13 +757,13 @@ BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS( JSON_SETTINGS* aParent, const std:
|
||||||
// The parameters are removed, so we just have to manually load them here and
|
// The parameters are removed, so we just have to manually load them here and
|
||||||
// they will get saved with the board
|
// they will get saved with the board
|
||||||
if( std::optional<double> optval = Get<double>( "rules.solder_mask_clearance" ) )
|
if( std::optional<double> optval = Get<double>( "rules.solder_mask_clearance" ) )
|
||||||
m_SolderMaskExpansion = static_cast<int>( *optval * IU_PER_MM );
|
m_SolderMaskExpansion = static_cast<int>( *optval * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
if( std::optional<double> optval = Get<double>( "rules.solder_mask_min_width" ) )
|
if( std::optional<double> optval = Get<double>( "rules.solder_mask_min_width" ) )
|
||||||
m_SolderMaskMinWidth = static_cast<int>( *optval * IU_PER_MM );
|
m_SolderMaskMinWidth = static_cast<int>( *optval * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
if( std::optional<double> optval = Get<double>( "rules.solder_paste_clearance" ) )
|
if( std::optional<double> optval = Get<double>( "rules.solder_paste_clearance" ) )
|
||||||
m_SolderPasteMargin = static_cast<int>( *optval * IU_PER_MM );
|
m_SolderPasteMargin = static_cast<int>( *optval * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
if( std::optional<double> optval = Get<double>( "rules.solder_paste_margin_ratio" ) )
|
if( std::optional<double> optval = Get<double>( "rules.solder_paste_margin_ratio" ) )
|
||||||
m_SolderPasteMarginRatio = *optval;
|
m_SolderPasteMarginRatio = *optval;
|
||||||
|
|
|
@ -342,7 +342,7 @@ void DIALOG_PAD_PROPERTIES::prepareCanvas()
|
||||||
settings->m_ContrastModeDisplay = HIGH_CONTRAST_MODE::NORMAL;
|
settings->m_ContrastModeDisplay = HIGH_CONTRAST_MODE::NORMAL;
|
||||||
|
|
||||||
// gives a non null grid size (0.001mm) because GAL layer does not like a 0 size grid:
|
// gives a non null grid size (0.001mm) because GAL layer does not like a 0 size grid:
|
||||||
double gridsize = 0.001 * IU_PER_MM;
|
double gridsize = 0.001 * pcbIUScale.IU_PER_MM;
|
||||||
view->GetGAL()->SetGridSize( VECTOR2D( gridsize, gridsize ) );
|
view->GetGAL()->SetGridSize( VECTOR2D( gridsize, gridsize ) );
|
||||||
|
|
||||||
// And do not show the grid:
|
// And do not show the grid:
|
||||||
|
|
|
@ -209,7 +209,7 @@ void DIALOG_PLOT::init_Dialog()
|
||||||
m_browseButton->SetBitmap( KiBitmap( BITMAPS::small_folder ) );
|
m_browseButton->SetBitmap( KiBitmap( BITMAPS::small_folder ) );
|
||||||
|
|
||||||
// m_PSWidthAdjust is stored in mm in user config
|
// m_PSWidthAdjust is stored in mm in user config
|
||||||
m_PSWidthAdjust = KiROUND( cfg->m_Plot.ps_fine_width_adjust * IU_PER_MM );
|
m_PSWidthAdjust = KiROUND( cfg->m_Plot.ps_fine_width_adjust * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
// The reasonable width correction value must be in a range of
|
// The reasonable width correction value must be in a range of
|
||||||
// [-(MinTrackWidth-1), +(MinClearanceValue-1)] decimils.
|
// [-(MinTrackWidth-1), +(MinClearanceValue-1)] decimils.
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
#include "board_design_settings.h"
|
#include "board_design_settings.h"
|
||||||
|
|
||||||
const int minSize = (int)( 0.01 * IU_PER_MM );
|
const int minSize = (int) ( 0.01 * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE( EDA_DRAW_FRAME* aParent,
|
DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE( EDA_DRAW_FRAME* aParent,
|
||||||
BOARD_DESIGN_SETTINGS& aSettings ) :
|
BOARD_DESIGN_SETTINGS& aSettings ) :
|
||||||
|
|
|
@ -131,9 +131,9 @@ bool PANEL_SETUP_CONSTRAINTS::TransferDataFromWindow()
|
||||||
|
|
||||||
m_BrdSettings->m_UseHeightForLengthCalcs = m_useHeightForLengthCalcs->GetValue();
|
m_BrdSettings->m_UseHeightForLengthCalcs = m_useHeightForLengthCalcs->GetValue();
|
||||||
|
|
||||||
m_BrdSettings->m_MaxError = Clamp<int>( IU_PER_MM * MINIMUM_ERROR_SIZE_MM,
|
m_BrdSettings->m_MaxError = Clamp<int>( pcbIUScale.IU_PER_MM * MINIMUM_ERROR_SIZE_MM,
|
||||||
m_maxError.GetValue(),
|
m_maxError.GetValue(),
|
||||||
IU_PER_MM * MAXIMUM_ERROR_SIZE_MM );
|
pcbIUScale.IU_PER_MM * MAXIMUM_ERROR_SIZE_MM );
|
||||||
|
|
||||||
m_BrdSettings->m_ZoneKeepExternalFillets = m_allowExternalFilletsOpt->GetValue();
|
m_BrdSettings->m_ZoneKeepExternalFillets = m_allowExternalFilletsOpt->GetValue();
|
||||||
m_BrdSettings->m_MinResolvedSpokes = m_minResolvedSpokeCountCtrl->GetValue();
|
m_BrdSettings->m_MinResolvedSpokes = m_minResolvedSpokeCountCtrl->GetValue();
|
||||||
|
|
|
@ -50,7 +50,7 @@ public:
|
||||||
static const double conv_unit_inch = 0.001 / pcbIUScale.IU_PER_MILS ; // units = INCHES
|
static const double conv_unit_inch = 0.001 / pcbIUScale.IU_PER_MILS ; // units = INCHES
|
||||||
static const char unit_text_inch[] = "## Unit = inches, Angle = deg.\n";
|
static const char unit_text_inch[] = "## Unit = inches, Angle = deg.\n";
|
||||||
|
|
||||||
static const double conv_unit_mm = 1.0 / IU_PER_MM; // units = mm
|
static const double conv_unit_mm = 1.0 / pcbIUScale.IU_PER_MM; // units = mm
|
||||||
static const char unit_text_mm[] = "## Unit = mm, Angle = deg.\n";
|
static const char unit_text_mm[] = "## Unit = mm, Angle = deg.\n";
|
||||||
|
|
||||||
// Sort function use by GenerefootprintsPosition()
|
// Sort function use by GenerefootprintsPosition()
|
||||||
|
|
|
@ -50,7 +50,7 @@ inline double diameter_in_inches( double ius )
|
||||||
|
|
||||||
inline double diameter_in_mm( double ius )
|
inline double diameter_in_mm( double ius )
|
||||||
{
|
{
|
||||||
return ius / IU_PER_MM;
|
return ius / pcbIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -335,8 +335,8 @@ bool GENDRILL_WRITER_BASE::genDrillMapFile( const wxString& aFullFileName, PLOT_
|
||||||
|
|
||||||
intervalle = KiROUND( ( ( charSize * charScale ) + TextWidth ) * 1.2 );
|
intervalle = KiROUND( ( ( charSize * charScale ) + TextWidth ) * 1.2 );
|
||||||
|
|
||||||
if( intervalle < ( plot_diam + ( 1 * IU_PER_MM / scale ) + TextWidth ) )
|
if( intervalle < ( plot_diam + ( 1 * pcbIUScale.IU_PER_MM / scale ) + TextWidth ) )
|
||||||
intervalle = plot_diam + ( 1 * IU_PER_MM / scale ) + TextWidth;
|
intervalle = plot_diam + ( 1 * pcbIUScale.IU_PER_MM / scale ) + TextWidth;
|
||||||
|
|
||||||
// Evaluate the text horizontal size, to know the maximal column size
|
// Evaluate the text horizontal size, to know the maximal column size
|
||||||
// This is a rough value, but ok to create a new column to plot next texts
|
// This is a rough value, but ok to create a new column to plot next texts
|
||||||
|
|
|
@ -359,7 +359,7 @@ void EXCELLON_WRITER::SetFormat( bool aMetric, ZEROS_FMT aZerosFmt, int aLeftDig
|
||||||
|
|
||||||
/* Set conversion scale depending on drill file units */
|
/* Set conversion scale depending on drill file units */
|
||||||
if( m_unitsMetric )
|
if( m_unitsMetric )
|
||||||
m_conversionUnits = 1.0 / IU_PER_MM; // EXCELLON units = mm
|
m_conversionUnits = 1.0 / pcbIUScale.IU_PER_MM; // EXCELLON units = mm
|
||||||
else
|
else
|
||||||
m_conversionUnits = 0.001 / pcbIUScale.IU_PER_MILS; // EXCELLON units = INCHES
|
m_conversionUnits = 0.001 / pcbIUScale.IU_PER_MILS; // EXCELLON units = INCHES
|
||||||
|
|
||||||
|
|
|
@ -288,7 +288,7 @@ void convertOblong2Segment( wxSize aSize, const EDA_ANGLE& aOrient, VECTOR2I& aS
|
||||||
void GERBER_WRITER::SetFormat( int aRightDigits )
|
void GERBER_WRITER::SetFormat( int aRightDigits )
|
||||||
{
|
{
|
||||||
/* Set conversion scale depending on drill file units */
|
/* Set conversion scale depending on drill file units */
|
||||||
m_conversionUnits = 1.0 / IU_PER_MM; // Gerber units = mm
|
m_conversionUnits = 1.0 / pcbIUScale.IU_PER_MM; // Gerber units = mm
|
||||||
|
|
||||||
// Set precision (unit is mm).
|
// Set precision (unit is mm).
|
||||||
m_precision.m_Lhs = 4;
|
m_precision.m_Lhs = 4;
|
||||||
|
|
|
@ -55,7 +55,7 @@ GERBER_JOBFILE_WRITER::GERBER_JOBFILE_WRITER( BOARD* aPcb, REPORTER* aReporter )
|
||||||
{
|
{
|
||||||
m_pcb = aPcb;
|
m_pcb = aPcb;
|
||||||
m_reporter = aReporter;
|
m_reporter = aReporter;
|
||||||
m_conversionUnits = 1.0 / IU_PER_MM; // Gerber units = mm
|
m_conversionUnits = 1.0 / pcbIUScale.IU_PER_MM; // Gerber units = mm
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GERBER_JOBFILE_WRITER::formatStringFromUTF32( const wxString& aText )
|
std::string GERBER_JOBFILE_WRITER::formatStringFromUTF32( const wxString& aText )
|
||||||
|
|
|
@ -85,9 +85,9 @@ DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX( PCB_BASE_FRAME* aParent, bool aImportAsFoo
|
||||||
|
|
||||||
m_placementInteractive = cfg->m_ImportGraphics.interactive_placement;
|
m_placementInteractive = cfg->m_ImportGraphics.interactive_placement;
|
||||||
|
|
||||||
m_xOrigin.SetValue( cfg->m_ImportGraphics.origin_x * IU_PER_MM );
|
m_xOrigin.SetValue( cfg->m_ImportGraphics.origin_x * pcbIUScale.IU_PER_MM );
|
||||||
m_yOrigin.SetValue( cfg->m_ImportGraphics.origin_y * IU_PER_MM );
|
m_yOrigin.SetValue( cfg->m_ImportGraphics.origin_y * pcbIUScale.IU_PER_MM );
|
||||||
m_defaultLineWidth.SetValue( cfg->m_ImportGraphics.dxf_line_width * IU_PER_MM );
|
m_defaultLineWidth.SetValue( cfg->m_ImportGraphics.dxf_line_width * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
m_textCtrlFileName->SetValue( cfg->m_ImportGraphics.last_file );
|
m_textCtrlFileName->SetValue( cfg->m_ImportGraphics.last_file );
|
||||||
m_rbInteractivePlacement->SetValue( m_placementInteractive );
|
m_rbInteractivePlacement->SetValue( m_placementInteractive );
|
||||||
|
|
|
@ -225,7 +225,7 @@ void MWAVE_POLYGONAL_SHAPE_DLG::ReadDataShapeDescr( wxCommandEvent& event )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
double unitconv = IU_PER_MM;
|
double unitconv = pcbIUScale.IU_PER_MM;
|
||||||
g_ShapeScaleX = g_ShapeScaleY = 1.0;
|
g_ShapeScaleX = g_ShapeScaleY = 1.0;
|
||||||
|
|
||||||
FILE_LINE_READER fileReader( File, fullFileName );
|
FILE_LINE_READER fileReader( File, fullFileName );
|
||||||
|
@ -245,7 +245,7 @@ void MWAVE_POLYGONAL_SHAPE_DLG::ReadDataShapeDescr( wxCommandEvent& event )
|
||||||
unitconv = pcbIUScale.IU_PER_MILS*1000;
|
unitconv = pcbIUScale.IU_PER_MILS*1000;
|
||||||
|
|
||||||
if( strncasecmp( param2, "mm", 2 ) == 0 )
|
if( strncasecmp( param2, "mm", 2 ) == 0 )
|
||||||
unitconv = IU_PER_MM;
|
unitconv = pcbIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( strncasecmp( param1, "$ENDCOORD", 8 ) == 0 )
|
if( strncasecmp( param1, "$ENDCOORD", 8 ) == 0 )
|
||||||
|
|
|
@ -70,7 +70,7 @@ enum class VIATYPE : int
|
||||||
#define UNDEFINED_DRILL_DIAMETER -1 //< Undefined via drill diameter.
|
#define UNDEFINED_DRILL_DIAMETER -1 //< Undefined via drill diameter.
|
||||||
|
|
||||||
// Used for tracks and vias for algorithmic safety, not to enforce constraints
|
// Used for tracks and vias for algorithmic safety, not to enforce constraints
|
||||||
#define GEOMETRY_MIN_SIZE ( int )( 0.001 * IU_PER_MM )
|
#define GEOMETRY_MIN_SIZE (int) ( 0.001 * pcbIUScale.IU_PER_MM )
|
||||||
|
|
||||||
|
|
||||||
class PCB_TRACK : public BOARD_CONNECTED_ITEM
|
class PCB_TRACK : public BOARD_CONNECTED_ITEM
|
||||||
|
|
|
@ -265,7 +265,7 @@ void PCBNEW_PRINTOUT::setupPainter( KIGFX::PAINTER& aPainter )
|
||||||
void PCBNEW_PRINTOUT::setupGal( KIGFX::GAL* aGal )
|
void PCBNEW_PRINTOUT::setupGal( KIGFX::GAL* aGal )
|
||||||
{
|
{
|
||||||
BOARD_PRINTOUT::setupGal( aGal );
|
BOARD_PRINTOUT::setupGal( aGal );
|
||||||
aGal->SetWorldUnitLength( 0.001/IU_PER_MM /* 1 nm */ / 0.0254 /* 1 inch in meters */ );
|
aGal->SetWorldUnitLength( 0.001/pcbIUScale.IU_PER_MM /* 1 nm */ / 0.0254 /* 1 inch in meters */ );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -977,7 +977,7 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask,
|
||||||
const SHAPE_LINE_CHAIN& path = areas.COutline( ii );
|
const SHAPE_LINE_CHAIN& path = areas.COutline( ii );
|
||||||
|
|
||||||
// polygon area in mm^2 :
|
// polygon area in mm^2 :
|
||||||
double curr_area = path.Area() / ( IU_PER_MM * IU_PER_MM );
|
double curr_area = path.Area() / ( pcbIUScale.IU_PER_MM * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
// Skip very small polygons: they are certainly artifacts created by
|
// Skip very small polygons: they are certainly artifacts created by
|
||||||
// arc approximations and polygon transforms
|
// arc approximations and polygon transforms
|
||||||
|
@ -1088,7 +1088,7 @@ static void initializePlotter( PLOTTER* aPlotter, const BOARD* aBoard,
|
||||||
*/
|
*/
|
||||||
static void FillNegativeKnockout( PLOTTER *aPlotter, const BOX2I &aBbbox )
|
static void FillNegativeKnockout( PLOTTER *aPlotter, const BOX2I &aBbbox )
|
||||||
{
|
{
|
||||||
const int margin = 5 * IU_PER_MM; // Add a 5 mm margin around the board
|
const int margin = 5 * pcbIUScale.IU_PER_MM; // Add a 5 mm margin around the board
|
||||||
aPlotter->SetNegative( true );
|
aPlotter->SetNegative( true );
|
||||||
aPlotter->SetColor( WHITE ); // Which will be plotted as black
|
aPlotter->SetColor( WHITE ); // Which will be plotted as black
|
||||||
|
|
||||||
|
|
|
@ -279,9 +279,9 @@ double FABMASTER::processScaleFactor( size_t aRow )
|
||||||
if( units == "MILS" )
|
if( units == "MILS" )
|
||||||
retval = pcbIUScale.IU_PER_MILS;
|
retval = pcbIUScale.IU_PER_MILS;
|
||||||
else if( units == "MILLIMETERS" )
|
else if( units == "MILLIMETERS" )
|
||||||
retval = IU_PER_MM;
|
retval = pcbIUScale.IU_PER_MM;
|
||||||
else if( units == "MICRONS" )
|
else if( units == "MICRONS" )
|
||||||
retval = IU_PER_MM * 10.0;
|
retval = pcbIUScale.IU_PER_MM * 10.0;
|
||||||
else if( units == "INCHES" )
|
else if( units == "INCHES" )
|
||||||
retval = pcbIUScale.IU_PER_MILS * 1000.0;
|
retval = pcbIUScale.IU_PER_MILS * 1000.0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,7 @@ int PCB_PARSER::parseBoardUnits()
|
||||||
// to confirm or experiment. Use a similar strategy in both places, here
|
// to confirm or experiment. Use a similar strategy in both places, here
|
||||||
// and in the test program. Make that program with:
|
// and in the test program. Make that program with:
|
||||||
// $ make test-nm-biu-to-ascii-mm-round-tripping
|
// $ make test-nm-biu-to-ascii-mm-round-tripping
|
||||||
auto retval = parseDouble() * IU_PER_MM;
|
auto retval = parseDouble() * pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
// N.B. we currently represent board units as integers. Any values that are
|
// N.B. we currently represent board units as integers. Any values that are
|
||||||
// larger or smaller than those board units represent undefined behavior for
|
// larger or smaller than those board units represent undefined behavior for
|
||||||
|
@ -197,7 +197,7 @@ int PCB_PARSER::parseBoardUnits()
|
||||||
|
|
||||||
int PCB_PARSER::parseBoardUnits( const char* aExpected )
|
int PCB_PARSER::parseBoardUnits( const char* aExpected )
|
||||||
{
|
{
|
||||||
auto retval = parseDouble( aExpected ) * IU_PER_MM;
|
auto retval = parseDouble( aExpected ) * pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
// N.B. we currently represent board units as integers. Any values that are
|
// N.B. we currently represent board units as integers. Any values that are
|
||||||
// larger or smaller than those board units represent undefined behavior for
|
// larger or smaller than those board units represent undefined behavior for
|
||||||
|
@ -515,7 +515,7 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText )
|
||||||
// 60mils is 1.524mm
|
// 60mils is 1.524mm
|
||||||
if( !foundTextSize )
|
if( !foundTextSize )
|
||||||
{
|
{
|
||||||
const double defaultTextSize = 1.524 * IU_PER_MM;
|
const double defaultTextSize = 1.524 * pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
aText->SetTextSize( wxSize( defaultTextSize, defaultTextSize ) );
|
aText->SetTextSize( wxSize( defaultTextSize, defaultTextSize ) );
|
||||||
}
|
}
|
||||||
|
@ -2749,7 +2749,7 @@ PCB_SHAPE* PCB_PARSER::parsePCB_SHAPE()
|
||||||
|
|
||||||
case T_stroke:
|
case T_stroke:
|
||||||
{
|
{
|
||||||
STROKE_PARAMS_PARSER strokeParser( reader, IU_PER_MM );
|
STROKE_PARAMS_PARSER strokeParser( reader, pcbIUScale.IU_PER_MM );
|
||||||
strokeParser.SyncLineReaderWith( *this );
|
strokeParser.SyncLineReaderWith( *this );
|
||||||
|
|
||||||
strokeParser.ParseStroke( stroke );
|
strokeParser.ParseStroke( stroke );
|
||||||
|
@ -3081,7 +3081,7 @@ PCB_TEXTBOX* PCB_PARSER::parsePCB_TEXTBOX()
|
||||||
|
|
||||||
case T_stroke:
|
case T_stroke:
|
||||||
{
|
{
|
||||||
STROKE_PARAMS_PARSER strokeParser( reader, IU_PER_MM );
|
STROKE_PARAMS_PARSER strokeParser( reader, pcbIUScale.IU_PER_MM );
|
||||||
strokeParser.SyncLineReaderWith( *this );
|
strokeParser.SyncLineReaderWith( *this );
|
||||||
|
|
||||||
strokeParser.ParseStroke( stroke );
|
strokeParser.ParseStroke( stroke );
|
||||||
|
@ -4157,7 +4157,7 @@ FP_TEXTBOX* PCB_PARSER::parseFP_TEXTBOX()
|
||||||
|
|
||||||
case T_stroke:
|
case T_stroke:
|
||||||
{
|
{
|
||||||
STROKE_PARAMS_PARSER strokeParser( reader, IU_PER_MM );
|
STROKE_PARAMS_PARSER strokeParser( reader, pcbIUScale.IU_PER_MM );
|
||||||
strokeParser.SyncLineReaderWith( *this );
|
strokeParser.SyncLineReaderWith( *this );
|
||||||
|
|
||||||
strokeParser.ParseStroke( stroke );
|
strokeParser.ParseStroke( stroke );
|
||||||
|
@ -4472,7 +4472,7 @@ FP_SHAPE* PCB_PARSER::parseFP_SHAPE()
|
||||||
|
|
||||||
case T_stroke:
|
case T_stroke:
|
||||||
{
|
{
|
||||||
STROKE_PARAMS_PARSER strokeParser( reader, IU_PER_MM );
|
STROKE_PARAMS_PARSER strokeParser( reader, pcbIUScale.IU_PER_MM );
|
||||||
strokeParser.SyncLineReaderWith( *this );
|
strokeParser.SyncLineReaderWith( *this );
|
||||||
|
|
||||||
strokeParser.ParseStroke( stroke );
|
strokeParser.ParseStroke( stroke );
|
||||||
|
@ -5780,7 +5780,7 @@ ZONE* PCB_PARSER::parseZONE( BOARD_ITEM_CONTAINER* aParent )
|
||||||
case T_island_area_min:
|
case T_island_area_min:
|
||||||
{
|
{
|
||||||
int area = parseBoardUnits( T_island_area_min );
|
int area = parseBoardUnits( T_island_area_min );
|
||||||
zone->SetMinIslandArea( area * IU_PER_MM );
|
zone->SetMinIslandArea( area * pcbIUScale.IU_PER_MM );
|
||||||
NeedRIGHT();
|
NeedRIGHT();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2322,7 +2322,7 @@ void PCB_PLUGIN::format( const ZONE* aZone, int aNestLevel ) const
|
||||||
{
|
{
|
||||||
m_out->Print( 0, " (island_removal_mode %d) (island_area_min %s)",
|
m_out->Print( 0, " (island_removal_mode %d) (island_area_min %s)",
|
||||||
static_cast<int>( aZone->GetIslandRemovalMode() ),
|
static_cast<int>( aZone->GetIslandRemovalMode() ),
|
||||||
EDA_UNIT_UTILS::FormatInternalUnits( pcbIUScale, aZone->GetMinIslandArea() / IU_PER_MM ).c_str() );
|
EDA_UNIT_UTILS::FormatInternalUnits( pcbIUScale, aZone->GetMinIslandArea() / pcbIUScale.IU_PER_MM ).c_str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( aZone->GetFillMode() == ZONE_FILL_MODE::HATCH_PATTERN )
|
if( aZone->GetFillMode() == ZONE_FILL_MODE::HATCH_PATTERN )
|
||||||
|
|
|
@ -613,7 +613,7 @@ void LEGACY_PLUGIN::loadGENERAL()
|
||||||
|
|
||||||
if( !strcmp( data, "mm" ) )
|
if( !strcmp( data, "mm" ) )
|
||||||
{
|
{
|
||||||
diskToBiu = IU_PER_MM;
|
diskToBiu = pcbIUScale.IU_PER_MM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( TESTLINE( "LayerCount" ) )
|
else if( TESTLINE( "LayerCount" ) )
|
||||||
|
@ -2876,7 +2876,7 @@ void LEGACY_PLUGIN::init( const PROPERTIES* aProperties )
|
||||||
m_props = aProperties;
|
m_props = aProperties;
|
||||||
|
|
||||||
// conversion factor for saving RAM BIUs to KICAD legacy file format.
|
// conversion factor for saving RAM BIUs to KICAD legacy file format.
|
||||||
biuToDisk = 1.0/IU_PER_MM; // BIUs are nanometers & file is mm
|
biuToDisk = 1.0 / pcbIUScale.IU_PER_MM; // BIUs are nanometers & file is mm
|
||||||
|
|
||||||
// Conversion factor for loading KICAD legacy file format into BIUs in RAM
|
// Conversion factor for loading KICAD legacy file format into BIUs in RAM
|
||||||
// Start by assuming the *.brd file is in deci-mils.
|
// Start by assuming the *.brd file is in deci-mils.
|
||||||
|
@ -3006,7 +3006,7 @@ void LP_CACHE::ReadAndVerifyHeader( LINE_READER* aReader )
|
||||||
const char* units = strtok_r( line + SZ( "Units" ), delims, &data );
|
const char* units = strtok_r( line + SZ( "Units" ), delims, &data );
|
||||||
|
|
||||||
if( !strcmp( units, "mm" ) )
|
if( !strcmp( units, "mm" ) )
|
||||||
m_owner->diskToBiu = IU_PER_MM;
|
m_owner->diskToBiu = pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if( TESTLINE( "$INDEX" ) )
|
else if( TESTLINE( "$INDEX" ) )
|
||||||
|
|
|
@ -157,14 +157,14 @@ namespace DSN {
|
||||||
static inline double scale( int kicadDist )
|
static inline double scale( int kicadDist )
|
||||||
{
|
{
|
||||||
// nanometers to um
|
// nanometers to um
|
||||||
return kicadDist / ( IU_PER_MM / 1000.0 );
|
return kicadDist / ( pcbIUScale.IU_PER_MM / 1000.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
///< Convert integer internal units to float um
|
///< Convert integer internal units to float um
|
||||||
static inline double IU2um( int kicadDist )
|
static inline double IU2um( int kicadDist )
|
||||||
{
|
{
|
||||||
return kicadDist * (1000.0 / IU_PER_MM);
|
return kicadDist * ( 1000.0 / pcbIUScale.IU_PER_MM );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -206,7 +206,7 @@ PCB_VIA* SPECCTRA_DB::makeVIA( WIRE_VIA*aVia, PADSTACK* aPadstack, const POINT&
|
||||||
|
|
||||||
double drill_um = strtod( diam_txt.c_str(), 0 );
|
double drill_um = strtod( diam_txt.c_str(), 0 );
|
||||||
|
|
||||||
drill_diam_iu = int( drill_um * (IU_PER_MM / 1000.0) );
|
drill_diam_iu = int( drill_um * ( pcbIUScale.IU_PER_MM / 1000.0 ) );
|
||||||
|
|
||||||
if( drill_diam_iu == aViaDrillDefault )
|
if( drill_diam_iu == aViaDrillDefault )
|
||||||
drill_diam_iu = UNDEFINED_DRILL_DIAMETER;
|
drill_diam_iu = UNDEFINED_DRILL_DIAMETER;
|
||||||
|
|
|
@ -1415,9 +1415,9 @@ int BOARD_EDITOR_CONTROL::ZoneDuplicate( const TOOL_EVENT& aEvent )
|
||||||
// If the new zone is on the same layer(s) as the initial zone,
|
// If the new zone is on the same layer(s) as the initial zone,
|
||||||
// offset it a bit so it can more easily be picked.
|
// offset it a bit so it can more easily be picked.
|
||||||
if( oldZone->GetIsRuleArea() && ( oldZone->GetLayerSet() == zoneSettings.m_Layers ) )
|
if( oldZone->GetIsRuleArea() && ( oldZone->GetLayerSet() == zoneSettings.m_Layers ) )
|
||||||
newZone->Move( wxPoint( IU_PER_MM, IU_PER_MM ) );
|
newZone->Move( wxPoint( pcbIUScale.IU_PER_MM, pcbIUScale.IU_PER_MM ) );
|
||||||
else if( !oldZone->GetIsRuleArea() && zoneSettings.m_Layers.test( oldZone->GetLayer() ) )
|
else if( !oldZone->GetIsRuleArea() && zoneSettings.m_Layers.test( oldZone->GetLayer() ) )
|
||||||
newZone->Move( wxPoint( IU_PER_MM, IU_PER_MM ) );
|
newZone->Move( wxPoint( pcbIUScale.IU_PER_MM, pcbIUScale.IU_PER_MM ) );
|
||||||
|
|
||||||
commit.Add( newZone.release() );
|
commit.Add( newZone.release() );
|
||||||
commit.Push( _( "Duplicate zone" ) );
|
commit.Push( _( "Duplicate zone" ) );
|
||||||
|
|
|
@ -705,7 +705,8 @@ int EDIT_TOOL::DragArcTrack( const TOOL_EVENT& aEvent )
|
||||||
if( isEndTrackOnStartPt )
|
if( isEndTrackOnStartPt )
|
||||||
newEnd = trackOnEnd->GetEnd();
|
newEnd = trackOnEnd->GetEnd();
|
||||||
|
|
||||||
int maxLengthIU = KiROUND( ADVANCED_CFG::GetCfg().m_MaxTrackLengthToKeep * IU_PER_MM );
|
int maxLengthIU =
|
||||||
|
KiROUND( ADVANCED_CFG::GetCfg().m_MaxTrackLengthToKeep * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
if( !processTrack( trackOnStart, trackOnStartCopy, maxLengthIU ) )
|
if( !processTrack( trackOnStart, trackOnStartCopy, maxLengthIU ) )
|
||||||
theArc->SetStart( newStart );
|
theArc->SetStart( newStart );
|
||||||
|
|
|
@ -375,7 +375,7 @@ int PAD_TOOL::EnumeratePads( const TOOL_EVENT& aEvent )
|
||||||
// the mouse move and search pads that are on the line.
|
// the mouse move and search pads that are on the line.
|
||||||
int distance = ( cursorPos - oldCursorPos ).EuclideanNorm();
|
int distance = ( cursorPos - oldCursorPos ).EuclideanNorm();
|
||||||
// Search will be made every 0.1 mm:
|
// Search will be made every 0.1 mm:
|
||||||
int segments = distance / int( 0.1*IU_PER_MM ) + 1;
|
int segments = distance / int( 0.1 * pcbIUScale.IU_PER_MM ) + 1;
|
||||||
const wxPoint line_step( ( cursorPos - oldCursorPos ) / segments );
|
const wxPoint line_step( ( cursorPos - oldCursorPos ) / segments );
|
||||||
|
|
||||||
collector.Empty();
|
collector.Empty();
|
||||||
|
|
|
@ -1372,7 +1372,7 @@ void ZONE_FILLER::buildThermalSpokes( const ZONE* aZone, PCB_LAYER_ID aLayer,
|
||||||
|
|
||||||
// Is a point on the boundary of the polygon inside or outside? This small epsilon lets
|
// Is a point on the boundary of the polygon inside or outside? This small epsilon lets
|
||||||
// us avoid the question.
|
// us avoid the question.
|
||||||
int epsilon = KiROUND( IU_PER_MM * 0.04 ); // about 1.5 mil
|
int epsilon = KiROUND( pcbIUScale.IU_PER_MM * 0.04 ); // about 1.5 mil
|
||||||
|
|
||||||
for( PAD* pad : aSpokedPadsList )
|
for( PAD* pad : aSpokedPadsList )
|
||||||
{
|
{
|
||||||
|
|
|
@ -73,7 +73,7 @@ ZONE_SETTINGS::ZONE_SETTINGS()
|
||||||
m_cornerRadius = 0;
|
m_cornerRadius = 0;
|
||||||
|
|
||||||
m_removeIslands = ISLAND_REMOVAL_MODE::AREA;
|
m_removeIslands = ISLAND_REMOVAL_MODE::AREA;
|
||||||
m_minIslandArea = 10 * IU_PER_MM * IU_PER_MM;
|
m_minIslandArea = 10 * pcbIUScale.IU_PER_MM * pcbIUScale.IU_PER_MM;
|
||||||
|
|
||||||
SetIsRuleArea( false );
|
SetIsRuleArea( false );
|
||||||
SetDoNotAllowCopperPour( false );
|
SetDoNotAllowCopperPour( false );
|
||||||
|
|
|
@ -44,7 +44,7 @@ struct ZONE_FILL_TEST_FIXTURE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
constexpr int delta = KiROUND( 0.006 * IU_PER_MM );
|
constexpr int delta = KiROUND( 0.006 * pcbIUScale.IU_PER_MM );
|
||||||
|
|
||||||
|
|
||||||
BOOST_FIXTURE_TEST_CASE( BasicZoneFills, ZONE_FILL_TEST_FIXTURE )
|
BOOST_FIXTURE_TEST_CASE( BasicZoneFills, ZONE_FILL_TEST_FIXTURE )
|
||||||
|
|
Loading…
Reference in New Issue