Fix source comment / documentation typos
This commit is contained in:
parent
053bd66650
commit
f968fc8719
|
@ -54,7 +54,7 @@ common/pcb_keywords.cpp
|
||||||
include/pcb_lexer.h
|
include/pcb_lexer.h
|
||||||
fp-info-cache
|
fp-info-cache
|
||||||
|
|
||||||
# demo project auxillary files
|
# demo project auxiliary files
|
||||||
demos/**/*-bak
|
demos/**/*-bak
|
||||||
demos/**/_autosave-*
|
demos/**/_autosave-*
|
||||||
demos/**/fp-info-cache
|
demos/**/fp-info-cache
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
*
|
*
|
||||||
* @param aInclination θ ∈ [0, π]
|
* @param aInclination θ ∈ [0, π]
|
||||||
* @param aAzimuth φ ∈ [0, 2π]
|
* @param aAzimuth φ ∈ [0, 2π]
|
||||||
* @return Cartesian cordinates
|
* @return Cartesian coordinates
|
||||||
*/
|
*/
|
||||||
inline SFVEC3F SphericalToCartesian( float aInclination, float aAzimuth )
|
inline SFVEC3F SphericalToCartesian( float aInclination, float aAzimuth )
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file bvh_packet_traversal.cpp
|
* @file bvh_packet_traversal.cpp
|
||||||
* @brief This file implementes packet traversal over the BVH PBRT implementation.
|
* @brief This file implements packet traversal over the BVH PBRT implementation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "bvh_pbrt.h"
|
#include "bvh_pbrt.h"
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
#include "frustum.h"
|
#include "frustum.h"
|
||||||
|
|
||||||
// !TODO: optimize wih SSE
|
// !TODO: optimize with SSE
|
||||||
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
||||||
#if 0
|
#if 0
|
||||||
#error not implemented
|
#error not implemented
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include "shapes3D/bbox_3d.h"
|
#include "shapes3D/bbox_3d.h"
|
||||||
#include "ray.h"
|
#include "ray.h"
|
||||||
|
|
||||||
// !TODO: optimize wih SSE
|
// !TODO: optimize with SSE
|
||||||
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
||||||
#if 0
|
#if 0
|
||||||
#error not implemented
|
#error not implemented
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file mortoncodes.cpp
|
* @file mortoncodes.cpp
|
||||||
* @brief Implementes Morton Codes base on the implementation of Fabian “ryg” Giesen
|
* @brief Implements Morton Codes base on the implementation of Fabian “ryg” Giesen
|
||||||
* https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
* https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file mortoncodes.h
|
* @file mortoncodes.h
|
||||||
* @brief Implementes Morton Codes
|
* @brief Implements Morton Codes
|
||||||
* https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
* https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
||||||
* http://www.forceflow.be/2013/10/07/morton-encodingdecoding-through-bit-interleaving-implementations/
|
* http://www.forceflow.be/2013/10/07/morton-encodingdecoding-through-bit-interleaving-implementations/
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -162,7 +162,7 @@ bool CYLINDER::IntersectP(const RAY& aRay , float aMaxDistance ) const
|
||||||
|
|
||||||
bool CYLINDER::Intersects( const BBOX_3D& aBBox ) const
|
bool CYLINDER::Intersects( const BBOX_3D& aBBox ) const
|
||||||
{
|
{
|
||||||
// !TODO: improove
|
// !TODO: improve
|
||||||
return m_bbox.Intersects( aBBox );
|
return m_bbox.Intersects( aBBox );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -201,7 +201,7 @@ static const unsigned int s_modulo[] = { 0, 1, 2, 0, 1 };
|
||||||
|
|
||||||
bool TRIANGLE::Intersect( const RAY& aRay, HITINFO& aHitInfo ) const
|
bool TRIANGLE::Intersect( const RAY& aRay, HITINFO& aHitInfo ) const
|
||||||
{
|
{
|
||||||
//!TODO: precalc this, improove it
|
//!TODO: precalc this, improve it
|
||||||
#define ku s_modulo[m_k + 1]
|
#define ku s_modulo[m_k + 1]
|
||||||
#define kv s_modulo[m_k + 2]
|
#define kv s_modulo[m_k + 2]
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ bool TRIANGLE::IntersectP( const RAY& aRay, float aMaxDistance ) const
|
||||||
|
|
||||||
bool TRIANGLE::Intersects( const BBOX_3D& aBBox ) const
|
bool TRIANGLE::Intersects( const BBOX_3D& aBBox ) const
|
||||||
{
|
{
|
||||||
//!TODO: improove
|
//!TODO: improve
|
||||||
return m_bbox.Intersects( aBBox );
|
return m_bbox.Intersects( aBBox );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -280,7 +280,7 @@ OPENGL_RENDER_LIST* RENDER_3D_LEGACY::generateHoles( const LIST_OBJECT2D& aListH
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: he can have a aListHolesObject2d whith holes but without countours
|
// Note: he can have a aListHolesObject2d with holes but without contours
|
||||||
// eg: when there are only NPTH on the list and the contours were not added
|
// eg: when there are only NPTH on the list and the contours were not added
|
||||||
if( aPoly.OutlineCount() > 0 )
|
if( aPoly.OutlineCount() > 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,7 +69,7 @@ public:
|
||||||
const SFVEC3F& aN4 );
|
const SFVEC3F& aN4 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the array of vertexes.
|
* Get the array of vertices.
|
||||||
*
|
*
|
||||||
* @return a pointer to the start of array vertex.
|
* @return a pointer to the start of array vertex.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -290,7 +290,7 @@ void Run_3d_viewer_test_cases()
|
||||||
bbox3d.Set( SFVEC3F(- 1.0f, -1.0f, 1.0f ), SFVEC3F( 0.0f, 0.0f, 2.0f ) );
|
bbox3d.Set( SFVEC3F(- 1.0f, -1.0f, 1.0f ), SFVEC3F( 0.0f, 0.0f, 2.0f ) );
|
||||||
wxASSERT( frustum.Intersect( bbox3d ) == true );
|
wxASSERT( frustum.Intersect( bbox3d ) == true );
|
||||||
|
|
||||||
// !TODO: The frustum alg is not excluse all the the situations
|
// !TODO: The frustum alg does not exclude all the situations
|
||||||
//bbox3d.Set( SFVEC3F(-1.0f, -1.0f, z+1.0f), SFVEC3F(+1.0f,+1.0f, +z+2.0f) );
|
//bbox3d.Set( SFVEC3F(-1.0f, -1.0f, z+1.0f), SFVEC3F(+1.0f,+1.0f, +z+2.0f) );
|
||||||
//wxASSERT( frustum.Intersect( bbox3d ) == false );
|
//wxASSERT( frustum.Intersect( bbox3d ) == false );
|
||||||
|
|
||||||
|
|
|
@ -45,13 +45,13 @@
|
||||||
* the mouse, scaled so they are from (-1.0 ... 1.0).
|
* the mouse, scaled so they are from (-1.0 ... 1.0).
|
||||||
*
|
*
|
||||||
* The resulting rotation is returned as a quaternion rotation in the
|
* The resulting rotation is returned as a quaternion rotation in the
|
||||||
* first paramater.
|
* first parameter.
|
||||||
*/
|
*/
|
||||||
void trackball( double q[4], double p1x, double p1y, double p2x, double p2y );
|
void trackball( double q[4], double p1x, double p1y, double p2x, double p2y );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Given two quaternions, add them together to get a third quaternion.
|
* Given two quaternions, add them together to get a third quaternion.
|
||||||
* Adding quaternions to get a compound rotation is analagous to adding
|
* Adding quaternions to get a compound rotation is analogous to adding
|
||||||
* translations to get a compound translation. When incrementally
|
* translations to get a compound translation. When incrementally
|
||||||
* adding rotations, the first argument here should be the new
|
* adding rotations, the first argument here should be the new
|
||||||
* rotation, the second and third the total rotation (which will be
|
* rotation, the second and third the total rotation (which will be
|
||||||
|
|
|
@ -153,7 +153,7 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, const wxSt
|
||||||
m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
|
m_auimgr.AddPane( m_canvas, EDA_PANE().Canvas().Name( "DrawFrame" ).Center() );
|
||||||
|
|
||||||
// Call Update() to fix all pane default sizes, especially the "InfoBar" pane before
|
// Call Update() to fix all pane default sizes, especially the "InfoBar" pane before
|
||||||
// hidding it.
|
// hiding it.
|
||||||
m_auimgr.Update();
|
m_auimgr.Update();
|
||||||
|
|
||||||
// We don't want the infobar displayed right away
|
// We don't want the infobar displayed right away
|
||||||
|
|
|
@ -111,7 +111,7 @@ const int* OGL_ATT_LIST::GetAttributesList( ANTIALIASING_MODE aAntiAliasingMode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable antialising if it failed or was not requested
|
// Disable antialiasing if it failed or was not requested
|
||||||
if( aAntiAliasingMode == ANTIALIASING_MODE::AA_NONE )
|
if( aAntiAliasingMode == ANTIALIASING_MODE::AA_NONE )
|
||||||
{
|
{
|
||||||
// Remove multisampling information
|
// Remove multisampling information
|
||||||
|
|
|
@ -159,7 +159,7 @@ Etay Meiri, email: ogldev1 gmail
|
||||||
mortoncodes.cpp
|
mortoncodes.cpp
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Implementes Morton Codes base on the implementation of Fabian “ryg” Giesen
|
Implements Morton Codes base on the implementation of Fabian “ryg” Giesen
|
||||||
https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -426,7 +426,7 @@ if( MSVC )
|
||||||
string( APPEND CMAKE_CXX_FLAGS " /bigobj" )
|
string( APPEND CMAKE_CXX_FLAGS " /bigobj" )
|
||||||
|
|
||||||
# Exception handling
|
# Exception handling
|
||||||
# Remove the potential default EHsc option cmake doesnt allow us to remove easily
|
# Remove the potential default EHsc option cmake doesn't allow us to remove easily
|
||||||
string( REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )
|
string( REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )
|
||||||
if( KICAD_WIN32_CONTEXT_WINFIBER )
|
if( KICAD_WIN32_CONTEXT_WINFIBER )
|
||||||
# /EHsc: ensure standard exception C++ unwinding is enabled, "extern C" can never throw exceptions
|
# /EHsc: ensure standard exception C++ unwinding is enabled, "extern C" can never throw exceptions
|
||||||
|
|
|
@ -110,7 +110,7 @@ set( includeFileHeader
|
||||||
* C++ does not put enum _values_ in separate namespaces unless the enum itself
|
* C++ does not put enum _values_ in separate namespaces unless the enum itself
|
||||||
* is in a separate namespace. All the token enums must be in separate namespaces
|
* is in a separate namespace. All the token enums must be in separate namespaces
|
||||||
* otherwise the C++ compiler will eventually complain if it sees more than one
|
* otherwise the C++ compiler will eventually complain if it sees more than one
|
||||||
* DSNLEXER in the same compilation unit, say by mutliple header file inclusion.
|
* DSNLEXER in the same compilation unit, say by multiple header file inclusion.
|
||||||
* Plus this also enables re-use of the same enum name T. A typedef can always be used
|
* Plus this also enables re-use of the same enum name T. A typedef can always be used
|
||||||
* to clarify which enum T is in play should that ever be a problem. This is
|
* to clarify which enum T is in play should that ever be a problem. This is
|
||||||
* unlikely since Parse() functions will usually only be exposed to one header
|
* unlikely since Parse() functions will usually only be exposed to one header
|
||||||
|
|
|
@ -977,7 +977,7 @@ if (_wx_lib_missing)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Check if a specfic version was requested by find_package().
|
# Check if a specific version was requested by find_package().
|
||||||
if(wxWidgets_FOUND)
|
if(wxWidgets_FOUND)
|
||||||
find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
|
find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
|
||||||
DBG_MSG("_filename: ${_filename}")
|
DBG_MSG("_filename: ${_filename}")
|
||||||
|
|
|
@ -86,7 +86,7 @@ to 1 all prerequisites will be found recursively, if set to 0 only
|
||||||
direct prerequisites are listed. <exclude_system> must be 0 or 1
|
direct prerequisites are listed. <exclude_system> must be 0 or 1
|
||||||
indicating whether to include or exclude "system" prerequisites. With
|
indicating whether to include or exclude "system" prerequisites. With
|
||||||
<verbose> set to 0 only the full path names of the prerequisites are
|
<verbose> set to 0 only the full path names of the prerequisites are
|
||||||
printed, set to 1 extra informatin will be displayed.
|
printed, set to 1 and extra information will be displayed.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
|
|
@ -40,5 +40,5 @@
|
||||||
set( KICAD_SEMANTIC_VERSION "5.99.0-unknown" )
|
set( KICAD_SEMANTIC_VERSION "5.99.0-unknown" )
|
||||||
|
|
||||||
# Default the version to the semantic version.
|
# Default the version to the semantic version.
|
||||||
# This is overriden by the git repository tag though (if using git)
|
# This is overridden by the git repository tag though (if using git)
|
||||||
set( KICAD_VERSION "${KICAD_SEMANTIC_VERSION}" )
|
set( KICAD_VERSION "${KICAD_SEMANTIC_VERSION}" )
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# # Note that for MinGW users the order of libs is important!
|
# # Note that for MinGW users the order of libs is important!
|
||||||
# FIND_PACKAGE(wxWidgets REQUIRED net gl core base)
|
# FIND_PACKAGE(wxWidgets REQUIRED net gl core base)
|
||||||
# INCLUDE(${wxWidgets_USE_FILE})
|
# INCLUDE(${wxWidgets_USE_FILE})
|
||||||
# # and for each of your dependant executable/library targets:
|
# # and for each of your dependent executable/library targets:
|
||||||
# TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
|
# TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
|
||||||
#
|
#
|
||||||
# DEPRECATED
|
# DEPRECATED
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#cmakedefine HAVE_STRNCASECMP
|
#cmakedefine HAVE_STRNCASECMP
|
||||||
|
|
||||||
#cmakedefine HAVE_STRTOKR // spelled odly to differ from wx's similar test
|
#cmakedefine HAVE_STRTOKR // spelled oddly to differ from wx's similar test
|
||||||
|
|
||||||
// Handle platform differences in math.h
|
// Handle platform differences in math.h
|
||||||
#cmakedefine HAVE_MATH_H
|
#cmakedefine HAVE_MATH_H
|
||||||
|
|
|
@ -402,7 +402,7 @@ void BITMAPCONV_INFO::createOutputData( BMP2CMP_MOD_LAYER aModLayer )
|
||||||
|
|
||||||
// The layer name has meaning only for .kicad_mod files.
|
// The layer name has meaning only for .kicad_mod files.
|
||||||
// For these files the header creates 2 invisible texts: value and ref
|
// For these files the header creates 2 invisible texts: value and ref
|
||||||
// (needed but not usefull) on silk screen layer
|
// (needed but not useful) on silk screen layer
|
||||||
outputDataHeader( getBoardLayerName( MOD_LYR_FSILKS ) );
|
outputDataHeader( getBoardLayerName( MOD_LYR_FSILKS ) );
|
||||||
|
|
||||||
bool main_outline = true;
|
bool main_outline = true;
|
||||||
|
|
|
@ -36,7 +36,7 @@ do
|
||||||
echo "file $fl converted."
|
echo "file $fl converted."
|
||||||
done
|
done
|
||||||
|
|
||||||
# covert .png files into .ico files using "icotool" from icoutils
|
# convert .png files into .ico files using "icotool" from icoutils
|
||||||
# (see http://www.nongnu.org/icoutils/)
|
# (see http://www.nongnu.org/icoutils/)
|
||||||
cd ../icons
|
cd ../icons
|
||||||
for fl in $ICON_FILES
|
for fl in $ICON_FILES
|
||||||
|
|
|
@ -382,7 +382,7 @@ void DIALOG_COLOR_PICKER::drawRGBPalette()
|
||||||
// Reserve room to draw cursors inside the bitmap
|
// Reserve room to draw cursors inside the bitmap
|
||||||
half_size -= m_cursorsSize/2;
|
half_size -= m_cursorsSize/2;
|
||||||
|
|
||||||
// Draw the 3 RGB cursors, usiing white color to make them always visible:
|
// Draw the 3 RGB cursors, using white color to make them always visible:
|
||||||
wxPen pen( wxColor( 255, 255, 255 ) );
|
wxPen pen( wxColor( 255, 255, 255 ) );
|
||||||
wxBrush brush( wxColor( 0, 0, 0 ), wxBRUSHSTYLE_TRANSPARENT );
|
wxBrush brush( wxColor( 0, 0, 0 ), wxBRUSHSTYLE_TRANSPARENT );
|
||||||
bitmapDC.SetPen( pen );
|
bitmapDC.SetPen( pen );
|
||||||
|
|
|
@ -87,7 +87,7 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL
|
||||||
wxStaticText* m_staticText17;
|
wxStaticText* m_staticText17;
|
||||||
wxCheckBox* m_cbRememberOpenFiles;
|
wxCheckBox* m_cbRememberOpenFiles;
|
||||||
|
|
||||||
// Virtual event handlers, override them in your derived class
|
// Virtual event handlers, overide them in your derived class
|
||||||
virtual void OnTextEditorClick( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnTextEditorClick( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void onUpdateUIPdfPath( wxUpdateUIEvent& event ) { event.Skip(); }
|
virtual void onUpdateUIPdfPath( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
virtual void OnPDFViewerClick( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnPDFViewerClick( wxCommandEvent& event ) { event.Skip(); }
|
||||||
|
|
|
@ -50,7 +50,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build the HTML messages page.
|
* Build the HTML messages page.
|
||||||
* Call it if the immediate mode is not actived to be able to display them
|
* Call it if the immediate mode is not activated to be able to display them
|
||||||
*/
|
*/
|
||||||
void Flush();
|
void Flush();
|
||||||
|
|
||||||
|
|
|
@ -573,7 +573,7 @@ void EDA_BASE_FRAME::LoadWindowState( const WINDOW_STATE& aState )
|
||||||
// an upper corner is not allowed
|
// an upper corner is not allowed
|
||||||
#define SCREEN_BORDER_REGION 0.10
|
#define SCREEN_BORDER_REGION 0.10
|
||||||
#else
|
#else
|
||||||
// Windows uses a very rectangular clearly defined display region, there is no ambigious "screen border region"
|
// Windows uses a very rectangular clearly defined display region, there is no ambiguous "screen border region"
|
||||||
// GetClientArea already accounts for the taskbar stealing display space
|
// GetClientArea already accounts for the taskbar stealing display space
|
||||||
#define SCREEN_BORDER_REGION 0
|
#define SCREEN_BORDER_REGION 0
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -218,7 +218,7 @@ private:
|
||||||
wxSocketClient* sock_client;
|
wxSocketClient* sock_client;
|
||||||
wxIPV4address addr;
|
wxIPV4address addr;
|
||||||
|
|
||||||
// Create a connexion
|
// Create a connection
|
||||||
addr.Hostname( HOSTNAME );
|
addr.Hostname( HOSTNAME );
|
||||||
addr.Service( port );
|
addr.Service( port );
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ bool EDA_RECT::Intersects( const wxPoint& aPoint1, const wxPoint& aPoint2 ) cons
|
||||||
point4.x = GetOrigin().x;
|
point4.x = GetOrigin().x;
|
||||||
point4.y = GetEnd().y;
|
point4.y = GetEnd().y;
|
||||||
|
|
||||||
//Only need to test 3 sides since a straight line cant enter and exit on same side
|
//Only need to test 3 sides since a straight line can't enter and exit on same side
|
||||||
if( SegmentIntersectsSegment( aPoint1, aPoint2, GetOrigin(), point2 ) )
|
if( SegmentIntersectsSegment( aPoint1, aPoint2, GetOrigin(), point2 ) )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -277,7 +277,7 @@ OPENGL_GAL::OPENGL_GAL( GAL_DISPLAY_OPTIONS& aDisplayOptions, wxWindow* aParent,
|
||||||
|
|
||||||
SetTarget( TARGET_NONCACHED );
|
SetTarget( TARGET_NONCACHED );
|
||||||
|
|
||||||
// Avoid unitialized variables:
|
// Avoid uninitialized variables:
|
||||||
ufm_worldPixelSize = 1;
|
ufm_worldPixelSize = 1;
|
||||||
ufm_screenPixelSize = 1;
|
ufm_screenPixelSize = 1;
|
||||||
ufm_pixelSizeMultiplier = 1;
|
ufm_pixelSizeMultiplier = 1;
|
||||||
|
|
|
@ -637,7 +637,7 @@ bool FormatNetAttribute( std::string& aPrintedText, std::string& aLastNetAttribu
|
||||||
// the entire dictionary is cleared
|
// the entire dictionary is cleared
|
||||||
// If m_TryKeepPreviousAttributes is true, only the no longer existing attribute
|
// If m_TryKeepPreviousAttributes is true, only the no longer existing attribute
|
||||||
// is cleared.
|
// is cleared.
|
||||||
// Note: to avoid interaction beteween clear attributes and set attributes
|
// Note: to avoid interaction between clear attributes and set attributes
|
||||||
// the clear attribute is inserted first.
|
// the clear attribute is inserted first.
|
||||||
bool clearDict = false;
|
bool clearDict = false;
|
||||||
|
|
||||||
|
|
|
@ -306,7 +306,7 @@ void GRLineArray( EDA_RECT* aClipBox, wxDC* aDC, std::vector<wxPoint>& aLines,
|
||||||
aClipBox->Inflate(-aWidth/2);
|
aClipBox->Inflate(-aWidth/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw the outline of a thick segment wih rounded ends
|
// Draw the outline of a thick segment with rounded ends
|
||||||
void GRCSegm( EDA_RECT* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
|
void GRCSegm( EDA_RECT* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
|
||||||
int width, int aPenSize, COLOR4D Color )
|
int width, int aPenSize, COLOR4D Color )
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
// All things in due course.
|
// All things in due course.
|
||||||
const wxEventType KIWAY_EXPRESS::wxEVENT_ID = wxNewEventType();
|
const wxEventType KIWAY_EXPRESS::wxEVENT_ID = wxNewEventType();
|
||||||
#else
|
#else
|
||||||
const wxEventType KIWAY_EXPRESS::wxEVENT_ID = 30000; // commmon accross all link images, hopefully unique.
|
const wxEventType KIWAY_EXPRESS::wxEVENT_ID = 30000; // common across all link images, hopefully unique.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ bool KIWAY_PLAYER::ShowModal( wxString* aResult, wxWindow* aResultantFocusWindow
|
||||||
SetFocus();
|
SetFocus();
|
||||||
|
|
||||||
{
|
{
|
||||||
// We have to disable all frames but the the modal one.
|
// We have to disable all frames but the modal one.
|
||||||
// wxWindowDisabler does that, but it also disables all top level windows
|
// wxWindowDisabler does that, but it also disables all top level windows
|
||||||
// We do not want to disable top level windows which are child of the modal one,
|
// We do not want to disable top level windows which are child of the modal one,
|
||||||
// if they are enabled.
|
// if they are enabled.
|
||||||
|
|
|
@ -259,7 +259,7 @@ bool HPGL_PLOTTER::StartPlot()
|
||||||
wxASSERT( m_outputFile );
|
wxASSERT( m_outputFile );
|
||||||
fprintf( m_outputFile, "IN;VS%d;PU;PA;SP%d;\n", penSpeed, penNumber );
|
fprintf( m_outputFile, "IN;VS%d;PU;PA;SP%d;\n", penSpeed, penNumber );
|
||||||
|
|
||||||
// Set HPGL Pen Thickness (in mm) (usefull in polygon fill command)
|
// Set HPGL Pen Thickness (in mm) (useful in polygon fill command)
|
||||||
double penThicknessMM = userToDeviceSize( penDiameter )/40;
|
double penThicknessMM = userToDeviceSize( penDiameter )/40;
|
||||||
fprintf( m_outputFile, "PT %.1f;\n", penThicknessMM );
|
fprintf( m_outputFile, "PT %.1f;\n", penThicknessMM );
|
||||||
|
|
||||||
|
|
|
@ -757,7 +757,7 @@ bool PDF_PLOTTER::EndPlot()
|
||||||
|
|
||||||
if( m_title.IsEmpty() )
|
if( m_title.IsEmpty() )
|
||||||
{
|
{
|
||||||
// Windows uses '\' and other platforms ue '/' as separator
|
// Windows uses '\' and other platforms use '/' as separator
|
||||||
m_title = m_filename.AfterLast( '\\');
|
m_title = m_filename.AfterLast( '\\');
|
||||||
m_title = m_title.AfterLast( '/');
|
m_title = m_title.AfterLast( '/');
|
||||||
}
|
}
|
||||||
|
|
|
@ -326,7 +326,7 @@ std::string PSLIKE_PLOTTER::encodeStringForPlotter( const wxString& aUnicode )
|
||||||
|
|
||||||
for( unsigned i = 0; i < aUnicode.Len(); i++ )
|
for( unsigned i = 0; i < aUnicode.Len(); i++ )
|
||||||
{
|
{
|
||||||
// Lazyness made me use stdio buffering yet another time...
|
// Laziness made me use stdio buffering yet another time...
|
||||||
wchar_t ch = aUnicode[i];
|
wchar_t ch = aUnicode[i];
|
||||||
|
|
||||||
if( ch < 256 )
|
if( ch < 256 )
|
||||||
|
|
|
@ -101,7 +101,7 @@
|
||||||
4,1,4,$1,$2,$3,$4,$5,$6,$7,$8,$1,$2,$9*%\n"
|
4,1,4,$1,$2,$3,$4,$5,$6,$7,$8,$1,$2,$9*%\n"
|
||||||
|
|
||||||
// A aperture macro to define a polygon by 5 corners
|
// A aperture macro to define a polygon by 5 corners
|
||||||
// and a rotation angle (usefull for chamfered rect pads)
|
// and a rotation angle (useful for chamfered rect pads)
|
||||||
#define APER_MACRO_OUTLINE5P_NAME "Outline5P"
|
#define APER_MACRO_OUTLINE5P_NAME "Outline5P"
|
||||||
|
|
||||||
#define APER_MACRO_OUTLINE5P_HEADER \
|
#define APER_MACRO_OUTLINE5P_HEADER \
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
4,1,5,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$1,$2,$11*%\n"
|
4,1,5,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$1,$2,$11*%\n"
|
||||||
|
|
||||||
// A aperture macro to define a polygon by 6 corners
|
// A aperture macro to define a polygon by 6 corners
|
||||||
// and a rotation angle (usefull for chamfered rect pads)
|
// and a rotation angle (useful for chamfered rect pads)
|
||||||
#define APER_MACRO_OUTLINE6P_NAME "Outline6P"
|
#define APER_MACRO_OUTLINE6P_NAME "Outline6P"
|
||||||
|
|
||||||
#define APER_MACRO_OUTLINE6P_HEADER \
|
#define APER_MACRO_OUTLINE6P_HEADER \
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
4,1,6,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$1,$2,$13*%\n"
|
4,1,6,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$1,$2,$13*%\n"
|
||||||
|
|
||||||
// A aperture macro to define a polygon by 7 corners
|
// A aperture macro to define a polygon by 7 corners
|
||||||
// and a rotation angle (usefull for chamfered rect pads)
|
// and a rotation angle (useful for chamfered rect pads)
|
||||||
#define APER_MACRO_OUTLINE7P_NAME "Outline7P"
|
#define APER_MACRO_OUTLINE7P_NAME "Outline7P"
|
||||||
|
|
||||||
#define APER_MACRO_OUTLINE7P_HEADER \
|
#define APER_MACRO_OUTLINE7P_HEADER \
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
4,1,7,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$1,$2,$15*%\n"
|
4,1,7,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$1,$2,$15*%\n"
|
||||||
|
|
||||||
// A aperture macro to define a polygon by 8 corners
|
// A aperture macro to define a polygon by 8 corners
|
||||||
// and a rotation angle (usefull for chamfered rect pads)
|
// and a rotation angle (useful for chamfered rect pads)
|
||||||
#define APER_MACRO_OUTLINE8P_NAME "Outline8P"
|
#define APER_MACRO_OUTLINE8P_NAME "Outline8P"
|
||||||
|
|
||||||
#define APER_MACRO_OUTLINE8P_HEADER \
|
#define APER_MACRO_OUTLINE8P_HEADER \
|
||||||
|
|
|
@ -332,7 +332,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
void clearNetAttribute();
|
void clearNetAttribute();
|
||||||
|
|
||||||
// the attributes dictionary created/modifed by %TO, attached to objects, when they are created
|
// the attributes dictionary created/modified by %TO, attached to objects, when they are created
|
||||||
// by D01, D03, G36/G37 commands
|
// by D01, D03, G36/G37 commands
|
||||||
// standard attributes are .P, .C and .N
|
// standard attributes are .P, .C and .N
|
||||||
// this is used by gerber readers when creating a new object. Cleared by %TD command
|
// this is used by gerber readers when creating a new object. Cleared by %TD command
|
||||||
|
|
|
@ -68,7 +68,7 @@ void TWO_POINT_ASSISTANT::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const
|
||||||
|
|
||||||
if( radVec.x == 0 && radVec.y == 0 )
|
if( radVec.x == 0 && radVec.y == 0 )
|
||||||
{
|
{
|
||||||
return; // text next to cursor jumps alot around in this corner case
|
return; // text next to cursor jumps around a lot in this corner case
|
||||||
}
|
}
|
||||||
|
|
||||||
gal.ResetTextAttributes();
|
gal.ResetTextAttributes();
|
||||||
|
|
|
@ -117,7 +117,7 @@ LINE_READER::LINE_READER( unsigned aMaxLineLength ) :
|
||||||
m_capacity = aMaxLineLength+1;
|
m_capacity = aMaxLineLength+1;
|
||||||
|
|
||||||
// Be sure there is room for a null EOL char, so reserve at least capacity+1 bytes
|
// Be sure there is room for a null EOL char, so reserve at least capacity+1 bytes
|
||||||
// to ensure capacity line lenght and avoid corner cases
|
// to ensure capacity line length and avoid corner cases
|
||||||
// Use capacity+5 to cover and corner case
|
// Use capacity+5 to cover and corner case
|
||||||
m_line = new char[m_capacity+5];
|
m_line = new char[m_capacity+5];
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ void LINE_READER::expandCapacity( unsigned aNewsize )
|
||||||
|
|
||||||
// resize the buffer, and copy the original data
|
// resize the buffer, and copy the original data
|
||||||
// Be sure there is room for the null EOL char, so reserve capacity+1 bytes
|
// Be sure there is room for the null EOL char, so reserve capacity+1 bytes
|
||||||
// to ensure capacity line lenght. Use capacity+5 to cover and corner case
|
// to ensure capacity line length. Use capacity+5 to cover and corner case
|
||||||
char* bigger = new char[m_capacity+5];
|
char* bigger = new char[m_capacity+5];
|
||||||
|
|
||||||
wxASSERT( m_capacity >= m_length+1 );
|
wxASSERT( m_capacity >= m_length+1 );
|
||||||
|
@ -476,7 +476,7 @@ std::string OUTPUTFORMATTER::Quotes( const std::string& aWrapee ) const
|
||||||
std::string OUTPUTFORMATTER::Quotew( const wxString& aWrapee ) const
|
std::string OUTPUTFORMATTER::Quotew( const wxString& aWrapee ) const
|
||||||
{
|
{
|
||||||
// wxStrings are always encoded as UTF-8 as we convert to a byte sequence.
|
// wxStrings are always encoded as UTF-8 as we convert to a byte sequence.
|
||||||
// The non-virutal function calls the virtual workhorse function, and if
|
// The non-virtual function calls the virtual workhorse function, and if
|
||||||
// a different quoting or escaping strategy is desired from the standard,
|
// a different quoting or escaping strategy is desired from the standard,
|
||||||
// a derived class can overload Quotes() above, but
|
// a derived class can overload Quotes() above, but
|
||||||
// should never be a reason to overload this Quotew() here.
|
// should never be a reason to overload this Quotew() here.
|
||||||
|
|
|
@ -43,7 +43,7 @@ STATUS_POPUP::STATUS_POPUP( wxWindow* aParent ) :
|
||||||
|
|
||||||
#ifdef __WXOSX_MAC__
|
#ifdef __WXOSX_MAC__
|
||||||
// Key events from popups don't get put through the wxWidgets event system on OSX,
|
// Key events from popups don't get put through the wxWidgets event system on OSX,
|
||||||
// so we have to fall back to the CHAR_HOOK to forwared hotkeys from the popup to
|
// so we have to fall back to the CHAR_HOOK to forward hotkeys from the popup to
|
||||||
// the canvas / frame.
|
// the canvas / frame.
|
||||||
Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( STATUS_POPUP::onCharHook ), nullptr, this );
|
Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( STATUS_POPUP::onCharHook ), nullptr, this );
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -373,7 +373,7 @@ OPT<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent, bool* keyI
|
||||||
// char events for ASCII letters in this case carry codes corresponding to the ASCII
|
// char events for ASCII letters in this case carry codes corresponding to the ASCII
|
||||||
// value of Ctrl-Latter, i.e. 1 for Ctrl-A, 2 for Ctrl-B and so on until 26 for Ctrl-Z.
|
// value of Ctrl-Latter, i.e. 1 for Ctrl-A, 2 for Ctrl-B and so on until 26 for Ctrl-Z.
|
||||||
// They are remapped here to be more easy to handle in code
|
// They are remapped here to be more easy to handle in code
|
||||||
// Note also on OSX wxWidgets has a differnt behavior and the mapping is made
|
// Note also on OSX wxWidgets has a different behavior and the mapping is made
|
||||||
// only for ctrl+'A' to ctlr+'Z' (unicode code return 'A' to 'Z').
|
// only for ctrl+'A' to ctlr+'Z' (unicode code return 'A' to 'Z').
|
||||||
// Others OS return WXK_CONTROL_A to WXK_CONTROL_Z, and Ctrl+'M' returns the same code as
|
// Others OS return WXK_CONTROL_A to WXK_CONTROL_Z, and Ctrl+'M' returns the same code as
|
||||||
// the return key, so the remapping does not use the unicode key value.
|
// the return key, so the remapping does not use the unicode key value.
|
||||||
|
@ -393,7 +393,7 @@ OPT<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent, bool* keyI
|
||||||
// OSX maps a bunch of commonly used extended-ASCII characters onto the keyboard
|
// OSX maps a bunch of commonly used extended-ASCII characters onto the keyboard
|
||||||
// using the ALT key. Since we use ALT for some of our hotkeys, we need to map back
|
// using the ALT key. Since we use ALT for some of our hotkeys, we need to map back
|
||||||
// to the underlying keys. The kVK_ANSI_* values come from Apple and are said to be
|
// to the underlying keys. The kVK_ANSI_* values come from Apple and are said to be
|
||||||
// hardware independant.
|
// hardware independent.
|
||||||
switch( aKeyEvent->GetRawKeyCode() )
|
switch( aKeyEvent->GetRawKeyCode() )
|
||||||
{
|
{
|
||||||
case /* kVK_ANSI_1 */ 0x12: key = '1'; break;
|
case /* kVK_ANSI_1 */ 0x12: key = '1'; break;
|
||||||
|
|
|
@ -766,7 +766,7 @@ bool WX_VIEW_CONTROLS::handleAutoPanning( const wxMouseEvent& aEvent )
|
||||||
{
|
{
|
||||||
// last cursor move event came from keyboard cursor control. If auto-panning is enabled and
|
// last cursor move event came from keyboard cursor control. If auto-panning is enabled and
|
||||||
// the next position is inside the autopan zone, check if it really came from a mouse event, otherwise
|
// the next position is inside the autopan zone, check if it really came from a mouse event, otherwise
|
||||||
// disable autopan temporarily. Also temporaly disable autopan if the cursor is in the autopan zone
|
// disable autopan temporarily. Also temporarily disable autopan if the cursor is in the autopan zone
|
||||||
// because the application warped the cursor.
|
// because the application warped the cursor.
|
||||||
|
|
||||||
m_cursorWarped = false;
|
m_cursorWarped = false;
|
||||||
|
|
|
@ -1341,7 +1341,7 @@ void mpScaleXBase::Plot( wxDC& dc, mpWindow& w )
|
||||||
wxCoord maxYpx = m_drawOutsideMargins ? w.GetScrY() : w.GetScrY() - w.GetMarginBottom();
|
wxCoord maxYpx = m_drawOutsideMargins ? w.GetScrY() : w.GetScrY() - w.GetMarginBottom();
|
||||||
|
|
||||||
// int tmp=-65535;
|
// int tmp=-65535;
|
||||||
int labelH = m_maxLabelHeight; // Control labels heigth to decide where to put axis name (below labels or on top of axis)
|
int labelH = m_maxLabelHeight; // Control labels height to decide where to put axis name (below labels or on top of axis)
|
||||||
|
|
||||||
// int maxExtent = tc.MaxLabelWidth();
|
// int maxExtent = tc.MaxLabelWidth();
|
||||||
for( int n = 0; n < tickCount(); n++ )
|
for( int n = 0; n < tickCount(); n++ )
|
||||||
|
@ -1872,7 +1872,7 @@ void mpWindow::OnMouseWheel( wxMouseEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// If the user "drags" with the right buttom pressed, do "pan"
|
// If the user "drags" with the right button pressed, do "pan"
|
||||||
// JLB
|
// JLB
|
||||||
void mpWindow::OnMouseMove( wxMouseEvent& event )
|
void mpWindow::OnMouseMove( wxMouseEvent& event )
|
||||||
{
|
{
|
||||||
|
|
|
@ -103,7 +103,7 @@ wxString AddFileExtListToFilter( const std::vector<std::string>& aExts )
|
||||||
|
|
||||||
files_filter << ")|*.";
|
files_filter << ")|*.";
|
||||||
|
|
||||||
// Add extensions to the filter list, using a formated string (GTK specific):
|
// Add extensions to the filter list, using a formatted string (GTK specific):
|
||||||
bool first = true;
|
bool first = true;
|
||||||
for( const auto& ext : aExts )
|
for( const auto& ext : aExts )
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,8 +76,8 @@ int DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::GetSelection( const wxString& aRefer
|
||||||
void DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::OnColumnClick( wxListEvent& event )
|
void DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR::OnColumnClick( wxListEvent& event )
|
||||||
{
|
{
|
||||||
// When clicking on the column title:
|
// When clicking on the column title:
|
||||||
// when it is the COL_SELCMP column, set all item choices to cmp file assigment.
|
// when it is the COL_SELCMP column, set all item choices to cmp file assignment.
|
||||||
// when it is the COL_SELSCH column, set all item choices to schematic assigment.
|
// when it is the COL_SELSCH column, set all item choices to schematic assignment.
|
||||||
|
|
||||||
int column = event.GetColumn();
|
int column = event.GetColumn();
|
||||||
int colclr, colset;
|
int colclr, colset;
|
||||||
|
|
|
@ -31,7 +31,7 @@ class add_automatic_border( ActionPlugin ):
|
||||||
How to use:
|
How to use:
|
||||||
- add all your modules/track/area/text...
|
- add all your modules/track/area/text...
|
||||||
- Call the plugin
|
- Call the plugin
|
||||||
- An including PCB edge will be created automaticaly
|
- An including PCB edge will be created automatically
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def defaults( self ):
|
def defaults( self ):
|
||||||
|
@ -44,7 +44,7 @@ class add_automatic_border( ActionPlugin ):
|
||||||
"""
|
"""
|
||||||
self.name = "Add or update automatic PCB edges"
|
self.name = "Add or update automatic PCB edges"
|
||||||
self.category = "Modify PCB"
|
self.category = "Modify PCB"
|
||||||
self.description = "Automaticaly add or update edges on an existing PCB"
|
self.description = "Automatically add or update edges on an existing PCB"
|
||||||
# Offset between existing elements and edge we will add/update (fixed at 2.54mm)
|
# Offset between existing elements and edge we will add/update (fixed at 2.54mm)
|
||||||
self.offset = FromMM( 2.54 )
|
self.offset = FromMM( 2.54 )
|
||||||
# Attach to a grid step (fixed at 2.54mm)
|
# Attach to a grid step (fixed at 2.54mm)
|
||||||
|
|
|
@ -31,7 +31,7 @@ class text_by_date( pcbnew.ActionPlugin ):
|
||||||
How to use:
|
How to use:
|
||||||
- Add a text on your board with the content '$date$'
|
- Add a text on your board with the content '$date$'
|
||||||
- Call the plugin
|
- Call the plugin
|
||||||
- Automaticaly the date will be added to the text (format YYYY-MM-DD)
|
- Automatically the date will be added to the text (format YYYY-MM-DD)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def defaults( self ):
|
def defaults( self ):
|
||||||
|
@ -44,7 +44,7 @@ class text_by_date( pcbnew.ActionPlugin ):
|
||||||
"""
|
"""
|
||||||
self.name = "Add date on PCB"
|
self.name = "Add date on PCB"
|
||||||
self.category = "Modify PCB"
|
self.category = "Modify PCB"
|
||||||
self.description = "Automaticaly add date on an existing PCB"
|
self.description = "Automatically add date on an existing PCB"
|
||||||
|
|
||||||
def Run( self ):
|
def Run( self ):
|
||||||
pcb = pcbnew.GetBoard()
|
pcb = pcbnew.GetBoard()
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
///< The default junction diameter in mils. (can be changed in preference menu)
|
///< The default junction diameter in mils. (can be changed in preference menu)
|
||||||
#define DEFAULT_JUNCTION_DIAM 36
|
#define DEFAULT_JUNCTION_DIAM 36
|
||||||
|
|
||||||
///< The default bus and wire enty size in mils.
|
///< The default bus and wire entry size in mils.
|
||||||
#define DEFAULT_SCH_ENTRY_SIZE 100
|
#define DEFAULT_SCH_ENTRY_SIZE 100
|
||||||
|
|
||||||
///< The default text size in mils. (can be changed in preference menu)
|
///< The default text size in mils. (can be changed in preference menu)
|
||||||
|
|
|
@ -70,7 +70,7 @@ protected:
|
||||||
* this function may need to be moved to the subclasses to access m_field and check for
|
* this function may need to be moved to the subclasses to access m_field and check for
|
||||||
* the field type if more select actions are desired.
|
* the field type if more select actions are desired.
|
||||||
*
|
*
|
||||||
* @param aEvent is the the wX event thrown when the button is clicked, this isn't used
|
* @param aEvent is the wX event thrown when the button is clicked, this isn't used
|
||||||
*/
|
*/
|
||||||
void OnTextValueSelectButtonClick( wxCommandEvent& aEvent ) override;
|
void OnTextValueSelectButtonClick( wxCommandEvent& aEvent ) override;
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,7 @@ DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES( SYMBOL_EDIT_FRAME* parent, LIB_PIN
|
||||||
finishDialogSettings();
|
finishDialogSettings();
|
||||||
|
|
||||||
// On some window managers (Unity, XFCE) the dialog is not always raised, depending on
|
// On some window managers (Unity, XFCE) the dialog is not always raised, depending on
|
||||||
// how it is is run.
|
// how it is run.
|
||||||
Raise();
|
Raise();
|
||||||
|
|
||||||
m_initialized = true;
|
m_initialized = true;
|
||||||
|
|
|
@ -549,7 +549,7 @@ bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilena
|
||||||
{
|
{
|
||||||
SCH_PLUGIN::SCH_PLUGIN_RELEASER pi( SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ) );
|
SCH_PLUGIN::SCH_PLUGIN_RELEASER pi( SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ) );
|
||||||
|
|
||||||
// If the the associated screen is shared by more than one sheet, do not
|
// If the associated screen is shared by more than one sheet, do not
|
||||||
// change the filename of the corresponding screen here.
|
// change the filename of the corresponding screen here.
|
||||||
// (a new screen will be created later)
|
// (a new screen will be created later)
|
||||||
// if it is not shared, update the filename
|
// if it is not shared, update the filename
|
||||||
|
@ -572,7 +572,7 @@ bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilena
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the the associated screen is shared by more than one sheet, remove the
|
// If the associated screen is shared by more than one sheet, remove the
|
||||||
// screen and reload the file to a new screen. Failure to do this will trash
|
// screen and reload the file to a new screen. Failure to do this will trash
|
||||||
// the screen reference counting in complex hierarchies.
|
// the screen reference counting in complex hierarchies.
|
||||||
if( m_sheet->GetScreenCount() > 1 )
|
if( m_sheet->GetScreenCount() > 1 )
|
||||||
|
|
|
@ -858,7 +858,7 @@ void DIALOG_SPICE_MODEL::loadLibrary( const wxString& aFilePath )
|
||||||
file.Open( filePath.GetFullPath() );
|
file.Open( filePath.GetFullPath() );
|
||||||
int line_nr = 0;
|
int line_nr = 0;
|
||||||
|
|
||||||
// Stores the libray content. It will be displayed after reading the full library
|
// Stores the library content. It will be displayed after reading the full library
|
||||||
wxString fullText;
|
wxString fullText;
|
||||||
|
|
||||||
// Process the file, looking for components
|
// Process the file, looking for components
|
||||||
|
|
|
@ -132,7 +132,7 @@ void DIALOG_SYMBOL_REMAP::OnRemapSymbols( wxCommandEvent& aEvent )
|
||||||
|
|
||||||
PART_LIBS::LibNamesAndPaths( &Prj(), true, &paths, &libNames );
|
PART_LIBS::LibNamesAndPaths( &Prj(), true, &paths, &libNames );
|
||||||
|
|
||||||
// Reload the the cache symbol library.
|
// Reload the cache symbol library.
|
||||||
Prj().SetElem( PROJECT::ELEM_SCH_PART_LIBS, NULL );
|
Prj().SetElem( PROJECT::ELEM_SCH_PART_LIBS, NULL );
|
||||||
Prj().SchLibs();
|
Prj().SchLibs();
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ protected:
|
||||||
/**
|
/**
|
||||||
* Adds a new template fieldname (with default values) to the template fieldnames data.
|
* Adds a new template fieldname (with default values) to the template fieldnames data.
|
||||||
*
|
*
|
||||||
* Process the wxWidgets @a event produced when the user presses the Add buton for the
|
* Process the wxWidgets @a event produced when the user presses the Add button for the
|
||||||
* template fieldnames control.
|
* template fieldnames control.
|
||||||
*
|
*
|
||||||
* @param event The wxWidgets produced event information
|
* @param event The wxWidgets produced event information
|
||||||
|
|
|
@ -39,7 +39,7 @@ class TRANSFORM;
|
||||||
* transform matrix. The default matrix is useful to draw lib entries with
|
* transform matrix. The default matrix is useful to draw lib entries with
|
||||||
* using this default matrix ( no rotation, no mirror but Y axis is bottom to top, and
|
* using this default matrix ( no rotation, no mirror but Y axis is bottom to top, and
|
||||||
* Y draw axis is to to bottom so we must have a default matrix that reverses
|
* Y draw axis is to to bottom so we must have a default matrix that reverses
|
||||||
* the Y coordinate and keeps the X coordiate
|
* the Y coordinate and keeps the X coordinate
|
||||||
*/
|
*/
|
||||||
extern TRANSFORM DefaultTransform;
|
extern TRANSFORM DefaultTransform;
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ PICKED_SYMBOL SCH_BASE_FRAME::PickSymbolFromLibTree( const SCHLIB_FILTER* aFilte
|
||||||
std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
|
std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
|
||||||
SYMBOL_LIB_TABLE* libs = Prj().SchSymbolLibTable();
|
SYMBOL_LIB_TABLE* libs = Prj().SchSymbolLibTable();
|
||||||
|
|
||||||
// One DIALOG_CHOOSE_SYMBOL dialog at a time. User probaby can't handle more anyway.
|
// One DIALOG_CHOOSE_SYMBOL dialog at a time. User probably can't handle more anyway.
|
||||||
if( !dialogLock.try_lock() )
|
if( !dialogLock.try_lock() )
|
||||||
return PICKED_SYMBOL();
|
return PICKED_SYMBOL();
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ HIERARCHY_NAVIG_DLG::HIERARCHY_NAVIG_DLG( SCH_EDIT_FRAME* aParent ) :
|
||||||
|
|
||||||
SetClientSize( tree_size );
|
SetClientSize( tree_size );
|
||||||
|
|
||||||
// manage the ESC key to close the dialog, because thre is no Cancel button
|
// manage the ESC key to close the dialog, because there is no Cancel button
|
||||||
// in dialog
|
// in dialog
|
||||||
m_Tree->Connect( wxEVT_CHAR, wxKeyEventHandler( HIERARCHY_TREE::onChar ) );
|
m_Tree->Connect( wxEVT_CHAR, wxKeyEventHandler( HIERARCHY_TREE::onChar ) );
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* The list of flags used by the #compare function.
|
* The list of flags used by the #compare function.
|
||||||
*
|
*
|
||||||
* - NORMAL This compares everthing between two #LIB_ITEM objects.
|
* - NORMAL This compares everything between two #LIB_ITEM objects.
|
||||||
* - UNIT This compare flag ignores unit and convert and pin number information when
|
* - UNIT This compare flag ignores unit and convert and pin number information when
|
||||||
* comparing #LIB_ITEM objects for unit comparison.
|
* comparing #LIB_ITEM objects for unit comparison.
|
||||||
*/
|
*/
|
||||||
|
@ -285,7 +285,7 @@ protected:
|
||||||
* @param aOther A reference to the other #LIB_ITEM to compare the arc against.
|
* @param aOther A reference to the other #LIB_ITEM to compare the arc against.
|
||||||
* @param aCompareFlags The flags used to perform the comparison.
|
* @param aCompareFlags The flags used to perform the comparison.
|
||||||
*
|
*
|
||||||
* @return An integer value less than 0 if the object is less than \a aOther ojbect,
|
* @return An integer value less than 0 if the object is less than \a aOther object,
|
||||||
* zero if the object is equal to \a aOther object, or greater than 0 if the
|
* zero if the object is equal to \a aOther object, or greater than 0 if the
|
||||||
* object is greater than \a aOther object.
|
* object is greater than \a aOther object.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -42,7 +42,7 @@ int LIB_PART::m_subpartIdSeparator = 0;
|
||||||
|
|
||||||
// the ascii char value to calculate the subpart symbol id from the part number:
|
// the ascii char value to calculate the subpart symbol id from the part number:
|
||||||
// 'A' or '1' usually. (to print U1.A or U1.1)
|
// 'A' or '1' usually. (to print U1.A or U1.1)
|
||||||
// if this a a digit, a number is used as id symbol
|
// if this a digit, a number is used as id symbol
|
||||||
int LIB_PART::m_subpartFirstId = 'A';
|
int LIB_PART::m_subpartFirstId = 'A';
|
||||||
|
|
||||||
|
|
||||||
|
@ -788,7 +788,7 @@ bool LIB_PART::PinsConflictWith( const LIB_PART& aOtherPart, bool aTestNums, boo
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
foundMatch = true;
|
foundMatch = true;
|
||||||
break; // Match found so seach is complete.
|
break; // Match found so search is complete.
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !foundMatch )
|
if( !foundMatch )
|
||||||
|
@ -1296,7 +1296,7 @@ std::vector<struct PART_UNITS> LIB_PART::GetUniqueUnits()
|
||||||
std::vector<LIB_ITEM*> currentDrawItems;
|
std::vector<LIB_ITEM*> currentDrawItems;
|
||||||
std::vector<struct PART_UNITS> uniqueUnits;
|
std::vector<struct PART_UNITS> uniqueUnits;
|
||||||
|
|
||||||
// The first unit is guarenteed to be unique so always include it.
|
// The first unit is guaranteed to be unique so always include it.
|
||||||
unit.m_unit = 1;
|
unit.m_unit = 1;
|
||||||
unit.m_convert = 1;
|
unit.m_convert = 1;
|
||||||
unit.m_items = GetUnitItems( 1, 1 );
|
unit.m_items = GetUnitItems( 1, 1 );
|
||||||
|
|
|
@ -66,7 +66,7 @@ struct PART_DRAW_OPTIONS
|
||||||
bool draw_hidden_fields; // Whether to draw "hidden" fields
|
bool draw_hidden_fields; // Whether to draw "hidden" fields
|
||||||
bool show_elec_type; // Whether to show the pin electrical type
|
bool show_elec_type; // Whether to show the pin electrical type
|
||||||
bool show_connect_point; // Whether to show the pin connect point marker (small circle)
|
bool show_connect_point; // Whether to show the pin connect point marker (small circle)
|
||||||
// usefull in dialog pin properties
|
// useful in dialog pin properties
|
||||||
|
|
||||||
PART_DRAW_OPTIONS()
|
PART_DRAW_OPTIONS()
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@ If the python comment
|
||||||
@package
|
@package
|
||||||
some comments
|
some comments
|
||||||
"""
|
"""
|
||||||
is added to the begining of the python script, the comment will be displayed
|
is added to the beginning of the python script, the comment will be displayed
|
||||||
in Eescheam, in the BOM dialog
|
in Eescheam, in the BOM dialog
|
||||||
|
|
||||||
For instance:
|
For instance:
|
||||||
|
|
|
@ -36,7 +36,7 @@ excluded_fields = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
# You may exlude components from the BOM by either:
|
# You may exclude components from the BOM by either:
|
||||||
#
|
#
|
||||||
# 1) adding a custom field named "Installed" to your components and filling it
|
# 1) adding a custom field named "Installed" to your components and filling it
|
||||||
# with a value of "NU" (Normally Uninstalled).
|
# with a value of "NU" (Normally Uninstalled).
|
||||||
|
@ -73,7 +73,7 @@ excluded_footprints = [
|
||||||
|
|
||||||
class xmlElement():
|
class xmlElement():
|
||||||
"""xml element which can represent all nodes of the netlist tree. It can be
|
"""xml element which can represent all nodes of the netlist tree. It can be
|
||||||
used to easily generate various output formats by propogating format
|
used to easily generate various output formats by propagating format
|
||||||
requests to children recursively.
|
requests to children recursively.
|
||||||
"""
|
"""
|
||||||
def __init__(self, name, parent=None):
|
def __init__(self, name, parent=None):
|
||||||
|
@ -410,7 +410,7 @@ class comp():
|
||||||
"""
|
"""
|
||||||
Kicad 5 uses tstamp keyword for time stamp (8 digits) as UUID
|
Kicad 5 uses tstamp keyword for time stamp (8 digits) as UUID
|
||||||
Kicad 6 uses tstamps keyword for UUID and a multi unit symbol has more than one UUID
|
Kicad 6 uses tstamps keyword for UUID and a multi unit symbol has more than one UUID
|
||||||
(UUIDs are separed by spaces)
|
(UUIDs are separated by spaces)
|
||||||
"""
|
"""
|
||||||
ret = self.element.get("tstamp")
|
ret = self.element.get("tstamp")
|
||||||
if ret == "":
|
if ret == "":
|
||||||
|
@ -445,7 +445,7 @@ class netlist():
|
||||||
|
|
||||||
self._curr_element = None
|
self._curr_element = None
|
||||||
|
|
||||||
# component blacklist regexs, made from exluded_* above.
|
# component blacklist regexs, made from excluded_* above.
|
||||||
self.excluded_references = []
|
self.excluded_references = []
|
||||||
self.excluded_values = []
|
self.excluded_values = []
|
||||||
self.excluded_footprints = []
|
self.excluded_footprints = []
|
||||||
|
@ -491,7 +491,7 @@ class netlist():
|
||||||
def endDocument(self):
|
def endDocument(self):
|
||||||
"""Called when the netlist document has been fully parsed"""
|
"""Called when the netlist document has been fully parsed"""
|
||||||
# When the document is complete, the library parts must be linked to
|
# When the document is complete, the library parts must be linked to
|
||||||
# the components as they are seperate in the tree so as not to
|
# the components as they are separate in the tree so as not to
|
||||||
# duplicate library part information for every component
|
# duplicate library part information for every component
|
||||||
for c in self.components:
|
for c in self.components:
|
||||||
for p in self.libparts:
|
for p in self.libparts:
|
||||||
|
@ -578,8 +578,8 @@ class netlist():
|
||||||
"""Return a subset of all components, those that should show up in the BOM.
|
"""Return a subset of all components, those that should show up in the BOM.
|
||||||
Omit those that should not, by consulting the blacklists:
|
Omit those that should not, by consulting the blacklists:
|
||||||
excluded_values, excluded_refs, and excluded_footprints, which hold one
|
excluded_values, excluded_refs, and excluded_footprints, which hold one
|
||||||
or more regular expressions. If any of the the regular expressions match
|
or more regular expressions. If any of the regular expressions match
|
||||||
the corresponding field's value in a component, then the component is exluded.
|
the corresponding field's value in a component, then the component is excluded.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# pre-compile all the regex expressions:
|
# pre-compile all the regex expressions:
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
Arthur:
|
Arthur:
|
||||||
Ronald Sousa HashDefineElectronics.com
|
Ronald Sousa HashDefineElectronics.com
|
||||||
|
|
||||||
Ouput Example:
|
Output Example:
|
||||||
Source,
|
Source,
|
||||||
Kicad Rev, working director and file source
|
Kicad Rev, working director and file source
|
||||||
Generated Date, date this file was generated
|
Generated Date, date this file was generated
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
|
|
||||||
<xsl:text>&nl;</xsl:text>
|
<xsl:text>&nl;</xsl:text>
|
||||||
|
|
||||||
<!-- Ouput Root sheet project information -->
|
<!-- Output Root sheet project information -->
|
||||||
<xsl:apply-templates select="/export/design/sheet[1]"/>
|
<xsl:apply-templates select="/export/design/sheet[1]"/>
|
||||||
|
|
||||||
<xsl:text>&nl;</xsl:text>
|
<xsl:text>&nl;</xsl:text>
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
<xsl:template name="build_pin_list" match="pin">
|
<xsl:template name="build_pin_list" match="pin">
|
||||||
<xsl:param name="cmp_ref" select="0" />
|
<xsl:param name="cmp_ref" select="0" />
|
||||||
|
|
||||||
<!-- write pin numner and separator -->
|
<!-- write pin number and separator -->
|
||||||
<xsl:text> ( </xsl:text>
|
<xsl:text> ( </xsl:text>
|
||||||
<xsl:value-of select="@num"/>
|
<xsl:value-of select="@num"/>
|
||||||
<xsl:text> </xsl:text>
|
<xsl:text> </xsl:text>
|
||||||
|
|
|
@ -837,7 +837,7 @@ bool SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary( wxWindow *aParent )
|
||||||
// Relaod the symbol library table.
|
// Relaod the symbol library table.
|
||||||
m_prj->SetElem( PROJECT::ELEM_SYMBOL_LIB_TABLE, NULL );
|
m_prj->SetElem( PROJECT::ELEM_SYMBOL_LIB_TABLE, NULL );
|
||||||
|
|
||||||
// This can only happen if the symbol library table file was currupted on write.
|
// This can only happen if the symbol library table file was corrupted on write.
|
||||||
if( !m_prj->SchSymbolLibTable() )
|
if( !m_prj->SchSymbolLibTable() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
|
@ -504,7 +504,7 @@ void SCH_EDIT_FRAME::SetSheetNumberAndCount()
|
||||||
int sheet_number = 1;
|
int sheet_number = 1;
|
||||||
const KIID_PATH& current_sheetpath = GetCurrentSheet().Path();
|
const KIID_PATH& current_sheetpath = GetCurrentSheet().Path();
|
||||||
|
|
||||||
// @todo Remove all psuedo page number system is left over from prior to real page number
|
// @todo Remove all pseudo page number system is left over from prior to real page number
|
||||||
// implementation.
|
// implementation.
|
||||||
for( const SCH_SHEET_PATH& sheet : Schematic().GetSheets() )
|
for( const SCH_SHEET_PATH& sheet : Schematic().GetSheets() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -694,7 +694,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Create a new entry in undo list of commands.
|
* Create a new entry in undo list of commands.
|
||||||
*
|
*
|
||||||
* @param aItemsList is the the list of items modified by the command to undo/
|
* @param aItemsList is the list of items modified by the command to undo/
|
||||||
* @param aTypeCommand is the command type (see enum UNDO_REDO).
|
* @param aTypeCommand is the command type (see enum UNDO_REDO).
|
||||||
* @param aAppend set to true to add the item to the previous undo list.
|
* @param aAppend set to true to add the item to the previous undo list.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
* Symbol library file version.
|
* Symbol library file version.
|
||||||
*/
|
*/
|
||||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200310 // Initial version. Sheet fields were named
|
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200310 // Initial version. Sheet fields were named
|
||||||
// incorectly (using symbol field vocabulary).
|
// incorrectly (using symbol field vocabulary).
|
||||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200506 // Used "page" instead of "paper" for paper
|
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200506 // Used "page" instead of "paper" for paper
|
||||||
// sizes.
|
// sizes.
|
||||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200512 // Add support for exclude from BOM.
|
//#define SEXPR_SCHEMATIC_FILE_VERSION 20200512 // Add support for exclude from BOM.
|
||||||
|
|
|
@ -530,7 +530,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances()
|
||||||
|
|
||||||
// In CADSTAR "GlobalSignal" is a special type of symbol which defines
|
// In CADSTAR "GlobalSignal" is a special type of symbol which defines
|
||||||
// a Power Symbol. The "Alternate" name defines the default net name of
|
// a Power Symbol. The "Alternate" name defines the default net name of
|
||||||
// the power symbol but this can be overriden in the design itself.
|
// the power symbol but this can be overridden in the design itself.
|
||||||
wxString libraryNetName = Library.SymbolDefinitions.at( symID ).Alternate;
|
wxString libraryNetName = Library.SymbolDefinitions.at( symID ).Alternate;
|
||||||
|
|
||||||
// Name of the net that the symbol instance in CADSTAR refers to:
|
// Name of the net that the symbol instance in CADSTAR refers to:
|
||||||
|
@ -2579,7 +2579,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings( EDA_TEXT* aKiCadT
|
||||||
wxPoint pos;
|
wxPoint pos;
|
||||||
|
|
||||||
// Change the anchor point of the text item to make it match the same bounding box
|
// Change the anchor point of the text item to make it match the same bounding box
|
||||||
// And correct the error introduced by the text offseting in KiCad
|
// And correct the error introduced by the text offsetting in KiCad
|
||||||
switch( spin )
|
switch( spin )
|
||||||
{
|
{
|
||||||
case LABEL_SPIN_STYLE::BOTTOM: pos = { bb.GetRight() - off, bb.GetTop() }; break;
|
case LABEL_SPIN_STYLE::BOTTOM: pos = { bb.GetRight() - off, bb.GetTop() }; break;
|
||||||
|
|
|
@ -366,7 +366,7 @@ public:
|
||||||
void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
|
void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BUS_TERM : PARSER ///< "BUSTERM" nodename (represents a connetion to a bus)
|
struct BUS_TERM : PARSER ///< "BUSTERM" nodename (represents a connection to a bus)
|
||||||
{
|
{
|
||||||
NETELEMENT_ID ID; ///< First two characters "BT"
|
NETELEMENT_ID ID; ///< First two characters "BT"
|
||||||
BUS_ID BusID;
|
BUS_ID BusID;
|
||||||
|
@ -378,7 +378,7 @@ public:
|
||||||
void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
|
void Parse( XNODE* aNode, PARSER_CONTEXT* aContext ) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BLOCK_TERM : PARSER ///< "BLOCKTERM" nodename (represents a connetion to a block)
|
struct BLOCK_TERM : PARSER ///< "BLOCKTERM" nodename (represents a connection to a block)
|
||||||
{
|
{
|
||||||
NETELEMENT_ID ID; ///< First four characters "BLKT"
|
NETELEMENT_ID ID; ///< First four characters "BLKT"
|
||||||
BLOCK_ID BlockID;
|
BLOCK_ID BlockID;
|
||||||
|
|
|
@ -1155,7 +1155,7 @@ void SCH_EAGLE_PLUGIN::loadInstance( wxXmlNode* aInstanceNode )
|
||||||
// Find the part in the list for the sheet.
|
// Find the part in the list for the sheet.
|
||||||
// Assign the component its value from the part entry
|
// Assign the component its value from the part entry
|
||||||
// Calculate the unit number from the gate entry of the instance
|
// Calculate the unit number from the gate entry of the instance
|
||||||
// Assign the the LIB_ID from device set and device names
|
// Assign the LIB_ID from device set and device names
|
||||||
|
|
||||||
auto part_it = m_partlist.find( einstance.part.Upper() );
|
auto part_it = m_partlist.find( einstance.part.Upper() );
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
#include <sch_file_versions.h>
|
#include <sch_file_versions.h>
|
||||||
#include <schematic_lexer.h>
|
#include <schematic_lexer.h>
|
||||||
#include <sch_plugins/kicad/sch_sexpr_parser.h>
|
#include <sch_plugins/kicad/sch_sexpr_parser.h>
|
||||||
#include <symbol_lib_table.h> // for PropPowerSymsOnly definintion.
|
#include <symbol_lib_table.h> // for PropPowerSymsOnly definition.
|
||||||
#include <ee_selection.h>
|
#include <ee_selection.h>
|
||||||
#include <kicad_string.h>
|
#include <kicad_string.h>
|
||||||
#include <wx_filename.h> // for ::ResolvePossibleSymlinks()
|
#include <wx_filename.h> // for ::ResolvePossibleSymlinks()
|
||||||
|
@ -478,7 +478,7 @@ void SCH_SEXPR_PLUGIN::loadHierarchy( SCH_SHEET* aSheet )
|
||||||
if( !fileName.IsAbsolute() )
|
if( !fileName.IsAbsolute() )
|
||||||
fileName.MakeAbsolute( m_currentPath.top() );
|
fileName.MakeAbsolute( m_currentPath.top() );
|
||||||
|
|
||||||
// Save the current path so that it gets restored when decending and ascending the
|
// Save the current path so that it gets restored when descending and ascending the
|
||||||
// sheet hierarchy which allows for sheet schematic files to be nested in folders
|
// sheet hierarchy which allows for sheet schematic files to be nested in folders
|
||||||
// relative to the last path a schematic was loaded from.
|
// relative to the last path a schematic was loaded from.
|
||||||
wxLogTrace( traceSchLegacyPlugin, "Saving path \"%s\"", m_currentPath.top() );
|
wxLogTrace( traceSchLegacyPlugin, "Saving path \"%s\"", m_currentPath.top() );
|
||||||
|
@ -1645,7 +1645,7 @@ void SCH_SEXPR_PLUGIN_CACHE::SaveSymbol( LIB_PART* aSymbol, OUTPUTFORMATTER& aFo
|
||||||
saveField( field, aFormatter, nextFreeFieldId, aNestLevel + 1 );
|
saveField( field, aFormatter, nextFreeFieldId, aNestLevel + 1 );
|
||||||
|
|
||||||
// @todo At some point in the future the lock status (all units interchangeable) should
|
// @todo At some point in the future the lock status (all units interchangeable) should
|
||||||
// be set deterministically. For now a custom lock propertery is used to preserve the
|
// be set deterministically. For now a custom lock property is used to preserve the
|
||||||
// locked flag state.
|
// locked flag state.
|
||||||
if( aSymbol->UnitsLocked() )
|
if( aSymbol->UnitsLocked() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
#include <lib_rectangle.h>
|
#include <lib_rectangle.h>
|
||||||
#include <lib_text.h>
|
#include <lib_text.h>
|
||||||
#include <eeschema_id.h> // for MAX_UNIT_COUNT_PER_PACKAGE definition
|
#include <eeschema_id.h> // for MAX_UNIT_COUNT_PER_PACKAGE definition
|
||||||
#include <symbol_lib_table.h> // for PropPowerSymsOnly definintion.
|
#include <symbol_lib_table.h> // for PropPowerSymsOnly definition.
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <tool/selection.h>
|
#include <tool/selection.h>
|
||||||
#include <default_values.h> // For some default values
|
#include <default_values.h> // For some default values
|
||||||
|
@ -92,8 +92,8 @@ const char* delims = " \t\r\n";
|
||||||
|
|
||||||
// Tokens to read/save graphic lines style
|
// Tokens to read/save graphic lines style
|
||||||
#define T_STYLE "style"
|
#define T_STYLE "style"
|
||||||
#define T_COLOR "rgb" // cannot be modifed (used by wxWidgets)
|
#define T_COLOR "rgb" // cannot be modified (used by wxWidgets)
|
||||||
#define T_COLORA "rgba" // cannot be modifed (used by wxWidgets)
|
#define T_COLORA "rgba" // cannot be modified (used by wxWidgets)
|
||||||
#define T_WIDTH "width"
|
#define T_WIDTH "width"
|
||||||
|
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ static double parseDouble( LINE_READER& aReader, const char* aLine,
|
||||||
* the parsing is complete.
|
* the parsing is complete.
|
||||||
* @return A valid ASCII character.
|
* @return A valid ASCII character.
|
||||||
* @throw IO_ERROR on an unexpected end of line.
|
* @throw IO_ERROR on an unexpected end of line.
|
||||||
* @throw PARSE_ERROR if the parsed token is not a a single character token.
|
* @throw PARSE_ERROR if the parsed token is not a single character token.
|
||||||
*/
|
*/
|
||||||
static char parseChar( LINE_READER& aReader, const char* aCurrentToken,
|
static char parseChar( LINE_READER& aReader, const char* aCurrentToken,
|
||||||
const char** aNextToken = NULL )
|
const char** aNextToken = NULL )
|
||||||
|
@ -686,7 +686,7 @@ void SCH_LEGACY_PLUGIN::loadHierarchy( SCH_SHEET* aSheet )
|
||||||
if( !fileName.IsAbsolute() )
|
if( !fileName.IsAbsolute() )
|
||||||
fileName.MakeAbsolute( m_currentPath.top() );
|
fileName.MakeAbsolute( m_currentPath.top() );
|
||||||
|
|
||||||
// Save the current path so that it gets restored when decending and ascending the
|
// Save the current path so that it gets restored when descending and ascending the
|
||||||
// sheet hierarchy which allows for sheet schematic files to be nested in folders
|
// sheet hierarchy which allows for sheet schematic files to be nested in folders
|
||||||
// relative to the last path a schematic was loaded from.
|
// relative to the last path a schematic was loaded from.
|
||||||
wxLogTrace( traceSchLegacyPlugin, "Saving path \"%s\"", m_currentPath.top() );
|
wxLogTrace( traceSchLegacyPlugin, "Saving path \"%s\"", m_currentPath.top() );
|
||||||
|
@ -2694,7 +2694,7 @@ void SCH_LEGACY_PLUGIN_CACHE::loadDocs()
|
||||||
else
|
else
|
||||||
symbol = it->second;
|
symbol = it->second;
|
||||||
|
|
||||||
// Read the curent alias associated doc.
|
// Read the current alias associated doc.
|
||||||
// if the alias does not exist, just skip the description
|
// if the alias does not exist, just skip the description
|
||||||
// (Can happen if a .dcm is not synchronized with the corresponding .lib file)
|
// (Can happen if a .dcm is not synchronized with the corresponding .lib file)
|
||||||
while( reader.ReadLine() )
|
while( reader.ReadLine() )
|
||||||
|
|
|
@ -84,7 +84,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the annotation of the symbol according the the current object state.
|
* Update the annotation of the symbol according the current object state.
|
||||||
*/
|
*/
|
||||||
void Annotate();
|
void Annotate();
|
||||||
|
|
||||||
|
|
|
@ -595,7 +595,7 @@ void SCH_SCREEN::UpdateSymbolLinks( REPORTER* aReporter )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// LIB_TABLE_BASE::LoadSymbol() throws an IO_ERROR if the the library nickname
|
// LIB_TABLE_BASE::LoadSymbol() throws an IO_ERROR if the library nickname
|
||||||
// is not found in the table so check if the library still exists in the table
|
// is not found in the table so check if the library still exists in the table
|
||||||
// before attempting to load the symbol.
|
// before attempting to load the symbol.
|
||||||
if( !libs->HasLibrary( symbol->GetLibId().GetLibNickname() ) && !legacyLibs )
|
if( !libs->HasLibrary( symbol->GetLibId().GetLibNickname() ) && !legacyLibs )
|
||||||
|
|
|
@ -419,7 +419,7 @@ public:
|
||||||
const std::map<wxString, LIB_PART*>& GetLibSymbols() const { return m_libSymbols; }
|
const std::map<wxString, LIB_PART*>& GetLibSymbols() const { return m_libSymbols; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add \a aLibSymbol to the the library symbol map.
|
* Add \a aLibSymbol to the library symbol map.
|
||||||
*
|
*
|
||||||
* The symbol is mapped to the result of #LIB_ID::Format(). If a symbol is already
|
* The symbol is mapped to the result of #LIB_ID::Format(). If a symbol is already
|
||||||
* mapped, the existing symbol is replaced with \a aLibSymbol. The screen object takes
|
* mapped, the existing symbol is replaced with \a aLibSymbol. The screen object takes
|
||||||
|
|
|
@ -1020,7 +1020,7 @@ bool SCH_SHEET_LIST::AllSheetPageNumbersEmpty() const
|
||||||
|
|
||||||
void SCH_SHEET_LIST::SetInitialPageNumbers()
|
void SCH_SHEET_LIST::SetInitialPageNumbers()
|
||||||
{
|
{
|
||||||
// Don't accidently renumber existing sheets.
|
// Don't accidentally renumber existing sheets.
|
||||||
wxCHECK( AllSheetPageNumbersEmpty(), /* void */ );
|
wxCHECK( AllSheetPageNumbersEmpty(), /* void */ );
|
||||||
|
|
||||||
wxString tmp;
|
wxString tmp;
|
||||||
|
|
|
@ -270,7 +270,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Return the sheet path in a human readable form made from the sheet names.
|
* Return the sheet path in a human readable form made from the sheet names.
|
||||||
*
|
*
|
||||||
* The the "normal" path instead uses the #KIID objects in the path that do not change
|
* The "normal" path instead uses the #KIID objects in the path that do not change
|
||||||
* even when editing sheet parameters.
|
* even when editing sheet parameters.
|
||||||
*/
|
*/
|
||||||
wxString PathHumanReadable( bool aUseShortRootName = true ) const;
|
wxString PathHumanReadable( bool aUseShortRootName = true ) const;
|
||||||
|
|
|
@ -319,7 +319,7 @@ void SCH_TEXT::SetLabelSpinStyle( LABEL_SPIN_STYLE aSpinStyle )
|
||||||
m_spin_style = aSpinStyle;
|
m_spin_style = aSpinStyle;
|
||||||
|
|
||||||
// Assume "Right" and Left" mean which side of the anchor the text will be on
|
// Assume "Right" and Left" mean which side of the anchor the text will be on
|
||||||
// Thus we want to left justify text up agaisnt the anchor if we are on the right
|
// Thus we want to left justify text up against the anchor if we are on the right
|
||||||
switch( aSpinStyle )
|
switch( aSpinStyle )
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -189,7 +189,7 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
|
||||||
}
|
}
|
||||||
}, {} ) );
|
}, {} ) );
|
||||||
|
|
||||||
// TOOD(JE) get rid of this static
|
// TODO(JE) get rid of this static
|
||||||
m_params.emplace_back( new PARAM<wxString>( "page_layout_descr_file",
|
m_params.emplace_back( new PARAM<wxString>( "page_layout_descr_file",
|
||||||
&BASE_SCREEN::m_DrawingSheetFileName, "" ) );
|
&BASE_SCREEN::m_DrawingSheetFileName, "" ) );
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ void NETLIST_EXPORTER_PSPICE_SIM::writeDirectives( OUTPUTFORMATTER* aFormatter,
|
||||||
// If we print out .save directives for currents, then it needs to be done for voltages as well
|
// If we print out .save directives for currents, then it needs to be done for voltages as well
|
||||||
for( const auto& netMap : GetNetIndexMap() )
|
for( const auto& netMap : GetNetIndexMap() )
|
||||||
{
|
{
|
||||||
// the "0" and the "GND" nets are automaticallly saved internally by ngspice.
|
// the "0" and the "GND" nets are automatically saved internally by ngspice.
|
||||||
// Skip them
|
// Skip them
|
||||||
wxString netname = ComponentToVector( netMap.first, SPT_VOLTAGE );
|
wxString netname = ComponentToVector( netMap.first, SPT_VOLTAGE );
|
||||||
|
|
||||||
|
|
|
@ -813,7 +813,7 @@ void SYMBOL_VIEWER_FRAME::OnSelectSymbol( wxCommandEvent& aEvent )
|
||||||
{
|
{
|
||||||
std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
|
std::unique_lock<std::mutex> dialogLock( DIALOG_CHOOSE_SYMBOL::g_Mutex, std::defer_lock );
|
||||||
|
|
||||||
// One CHOOSE_COMPONENT dialog at a time. User probaby can't handle more anyway.
|
// One CHOOSE_COMPONENT dialog at a time. User probably can't handle more anyway.
|
||||||
if( !dialogLock.try_lock() )
|
if( !dialogLock.try_lock() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -375,7 +375,7 @@ int EE_POINT_EDITOR::Main( const TOOL_EVENT& aEvent )
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the coordinates of 4 corners of a rectangle, accordint to constraints
|
* Update the coordinates of 4 corners of a rectangle, according to constraints
|
||||||
* and the moved corner
|
* and the moved corner
|
||||||
* @param aEditedPointIndex is the corner id
|
* @param aEditedPointIndex is the corner id
|
||||||
* @param minWidth is the minimal width constraint
|
* @param minWidth is the minimal width constraint
|
||||||
|
|
|
@ -318,7 +318,7 @@ void EE_SELECTION_TOOL::setModifiersState( bool aShiftState, bool aCtrlState, bo
|
||||||
// from the state of modifier keys SHIFT, CTRL, ALT and the OS
|
// from the state of modifier keys SHIFT, CTRL, ALT and the OS
|
||||||
|
|
||||||
// on left click, a selection is made, depending on modifiers ALT, SHIFT, CTRL:
|
// on left click, a selection is made, depending on modifiers ALT, SHIFT, CTRL:
|
||||||
// Due to the fact ALT key modifier cannot be useed freely on Windows and Linux,
|
// Due to the fact ALT key modifier cannot be used freely on Windows and Linux,
|
||||||
// actions are different on OSX and others OS
|
// actions are different on OSX and others OS
|
||||||
// Especially, ALT key cannot be used to force showing the full selection choice
|
// Especially, ALT key cannot be used to force showing the full selection choice
|
||||||
// context menu (the menu is immediately closed on Windows )
|
// context menu (the menu is immediately closed on Windows )
|
||||||
|
|
|
@ -140,7 +140,7 @@ public:
|
||||||
void AssignFootprints( const std::string& aChangedSetOfReferences );
|
void AssignFootprints( const std::string& aChangedSetOfReferences );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find a symbol in the schematic and an item in this symobl.
|
* Find a symbol in the schematic and an item in this symbol.
|
||||||
*
|
*
|
||||||
* @param aReference The symbol reference designator to find.
|
* @param aReference The symbol reference designator to find.
|
||||||
* @param aSearchHierarchy If false, search the current sheet only. Otherwise,
|
* @param aSearchHierarchy If false, search the current sheet only. Otherwise,
|
||||||
|
|
|
@ -40,7 +40,7 @@ class EDA_RECT;
|
||||||
* This probably should be a base class with all pure virtual methods and a WXDC_TRANSFORM
|
* This probably should be a base class with all pure virtual methods and a WXDC_TRANSFORM
|
||||||
* derived class. Then in the future if some new device context is used, a new transform could
|
* derived class. Then in the future if some new device context is used, a new transform could
|
||||||
* be derived from the base class and all the drawable objects would have to do is provide
|
* be derived from the base class and all the drawable objects would have to do is provide
|
||||||
* overloaded draw methods to use the new transorm.
|
* overloaded draw methods to use the new transform.
|
||||||
*/
|
*/
|
||||||
class TRANSFORM
|
class TRANSFORM
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,7 +82,7 @@ bool TUNER_SLIDER::SetMin( const SPICE_VALUE& aVal )
|
||||||
|
|
||||||
m_min = aVal;
|
m_min = aVal;
|
||||||
|
|
||||||
if( m_value < aVal ) // Limit the curent value
|
if( m_value < aVal ) // Limit the current value
|
||||||
SetValue( aVal );
|
SetValue( aVal );
|
||||||
|
|
||||||
m_minText->SetValue( aVal.ToOrigString() );
|
m_minText->SetValue( aVal.ToOrigString() );
|
||||||
|
|
|
@ -81,7 +81,7 @@ const wxString& X2_ATTRIBUTE::GetPrm( int aIdx)
|
||||||
return dummy;
|
return dummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debug function: pring using wxLogMessage the list of parameters
|
// Debug function: print using wxLogMessage the list of parameters
|
||||||
void X2_ATTRIBUTE::DbgListPrms()
|
void X2_ATTRIBUTE::DbgListPrms()
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("prms count %d"), GetPrmCount() );
|
wxLogMessage( wxT("prms count %d"), GetPrmCount() );
|
||||||
|
|
|
@ -62,19 +62,19 @@
|
||||||
* A simple definition, no parameters:
|
* A simple definition, no parameters:
|
||||||
* %AMMOIRE10*
|
* %AMMOIRE10*
|
||||||
* 6,0,0,0.350000,0.005,0.050,3,0.005,0.400000,0.0*%
|
* 6,0,0,0.350000,0.005,0.050,3,0.005,0.400000,0.0*%
|
||||||
* Example of instanciation:
|
* Example of instantiation:
|
||||||
* %ADD19MOIRE10*%
|
* %ADD19MOIRE10*%
|
||||||
*
|
*
|
||||||
* A simple definition, one parameter:
|
* A simple definition, one parameter:
|
||||||
* %AMCIRCLE*
|
* %AMCIRCLE*
|
||||||
* 1,1,$1,0,0*
|
* 1,1,$1,0,0*
|
||||||
* Example of instanciation:
|
* Example of instantiation:
|
||||||
* %ADD11CIRCLE,.5*%
|
* %ADD11CIRCLE,.5*%
|
||||||
*
|
*
|
||||||
* A definition, with parameters and arithmetic operations:
|
* A definition, with parameters and arithmetic operations:
|
||||||
* %AMVECTOR*
|
* %AMVECTOR*
|
||||||
* 2,1,$1,0,0,$2+1,$3,-135*%
|
* 2,1,$1,0,0,$2+1,$3,-135*%
|
||||||
* Example of instanciation:
|
* Example of instantiation:
|
||||||
* %ADD12VECTOR,0.05X0X0*%
|
* %ADD12VECTOR,0.05X0X0*%
|
||||||
*
|
*
|
||||||
* A more complicated aperture macro definition, with parameters and arithmetic operations:
|
* A more complicated aperture macro definition, with parameters and arithmetic operations:
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
* 1,1,$3+$3,$3-$1,$2-$3*
|
* 1,1,$3+$3,$3-$1,$2-$3*
|
||||||
* 1,1,$3+$3,$1-$3,$3-$2*
|
* 1,1,$3+$3,$1-$3,$3-$2*
|
||||||
* 1,1,$3+$3,$3-$1,$3-$2*%
|
* 1,1,$3+$3,$3-$1,$3-$2*%
|
||||||
* Example of instanciation:
|
* Example of instantiation:
|
||||||
*
|
*
|
||||||
* A more complicated sample of aperture macro definition:
|
* A more complicated sample of aperture macro definition:
|
||||||
* G04 Rectangular Thermal Macro, params: W/2, H/2, T/2 *
|
* G04 Rectangular Thermal Macro, params: W/2, H/2, T/2 *
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
* 21,1,$1-$3,$2-$3,0-$1/2-$4,$2/2+$4,0*
|
* 21,1,$1-$3,$2-$3,0-$1/2-$4,$2/2+$4,0*
|
||||||
* 21,1,$1-$3,$2-$3,$1/2+$4,0-$2/2-$4,0*
|
* 21,1,$1-$3,$2-$3,$1/2+$4,0-$2/2-$4,0*
|
||||||
* 21,1,$1-$3,$2-$3,$1/2+$4,$2/2+$4,0*%
|
* 21,1,$1-$3,$2-$3,$1/2+$4,$2/2+$4,0*%
|
||||||
* Example of instanciation:
|
* Example of instantiation:
|
||||||
* %ADD28RECTHERM,0.035591X0.041496X0.005000*%
|
* %ADD28RECTHERM,0.035591X0.041496X0.005000*%
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
* Function scaletoIU
|
* Function scaletoIU
|
||||||
* converts a distance given in floating point to our internal units
|
* converts a distance given in floating point to our internal units
|
||||||
*/
|
*/
|
||||||
extern int scaletoIU( double aCoord, bool isMetric ); // defined it rs274d_read_XY_and_IJ_coordiantes.cpp
|
extern int scaletoIU( double aCoord, bool isMetric ); // defined it rs274d_read_XY_and_IJ_coordinates.cpp
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function mapPt
|
* Function mapPt
|
||||||
|
@ -603,7 +603,7 @@ void AM_PRIMITIVE::ConvertShapeToPolygon( const GERBER_DRAW_ITEM* aParent,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AMP_MOIRE: // A cross hair with n concentric circles. Only the cros is build as polygon
|
case AMP_MOIRE: // A cross hair with n concentric circles. Only the cross is built as polygon
|
||||||
// because circles can be drawn easily
|
// because circles can be drawn easily
|
||||||
{
|
{
|
||||||
int crossHairThickness = scaletoIU( params[6].GetValue( tool ), m_GerbMetric );
|
int crossHairThickness = scaletoIU( params[6].GetValue( tool ), m_GerbMetric );
|
||||||
|
|
|
@ -90,9 +90,9 @@ struct EXCELLON_ROUTE_COORD
|
||||||
int m_x; // X coordinate
|
int m_x; // X coordinate
|
||||||
int m_y; // y coordinate
|
int m_y; // y coordinate
|
||||||
int m_cx; // center X coordinate in circular routing mode
|
int m_cx; // center X coordinate in circular routing mode
|
||||||
// (when the IJ commad is used)
|
// (when the IJ command is used)
|
||||||
int m_cy; // center y coordinate in circular routing mode
|
int m_cy; // center y coordinate in circular routing mode
|
||||||
// (when the IJ commad is used)
|
// (when the IJ command is used)
|
||||||
int m_radius; // radius in circular routing mode (when the A## command is used)
|
int m_radius; // radius in circular routing mode (when the A## command is used)
|
||||||
int m_rmode; // routing mode: 0 = circular, ROUTE_CCW (1) = ccw, ROUTE_CW (-1) = cw
|
int m_rmode; // routing mode: 0 = circular, ROUTE_CCW (1) = ccw, ROUTE_CW (-1) = cw
|
||||||
int m_arc_type_info; // arc using radius or center coordinates
|
int m_arc_type_info; // arc using radius or center coordinates
|
||||||
|
|
|
@ -187,7 +187,7 @@ extern void fillArcGBRITEM( GERBER_DRAW_ITEM* aGbrItem, int Dcode_index,
|
||||||
// Gerber X2 files have a file attribute which specify the type of image
|
// Gerber X2 files have a file attribute which specify the type of image
|
||||||
// (copper, solder paste ... and sides tpo, bottom or inner copper layers)
|
// (copper, solder paste ... and sides tpo, bottom or inner copper layers)
|
||||||
// Excellon drill files do not have attributes, so, just to identify the image
|
// Excellon drill files do not have attributes, so, just to identify the image
|
||||||
// In gerbview, we add this attribute, similat to a Gerber drill file
|
// In gerbview, we add this attribute, similar to a Gerber drill file
|
||||||
static const char file_attribute[] = ".FileFunction,Other,Drill*";
|
static const char file_attribute[] = ".FileFunction,Other,Drill*";
|
||||||
|
|
||||||
static EXCELLON_CMD excellonHeaderCmdList[] =
|
static EXCELLON_CMD excellonHeaderCmdList[] =
|
||||||
|
@ -308,7 +308,7 @@ bool GERBVIEW_FRAME::Read_EXCELLON_File( const wxString& aFullFileName )
|
||||||
|
|
||||||
bool EXCELLON_IMAGE::LoadFile( const wxString & aFullFileName )
|
bool EXCELLON_IMAGE::LoadFile( const wxString & aFullFileName )
|
||||||
{
|
{
|
||||||
// Set the default parmeter values:
|
// Set the default parameter values:
|
||||||
ResetDefaultValues();
|
ResetDefaultValues();
|
||||||
ClearMessageList();
|
ClearMessageList();
|
||||||
|
|
||||||
|
@ -538,7 +538,7 @@ bool EXCELLON_IMAGE::Execute_HEADER_And_M_Command( char*& text )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DRILL_M_TOOL_DOWN: // tool down (starting a routed hole or polyline)
|
case DRILL_M_TOOL_DOWN: // tool down (starting a routed hole or polyline)
|
||||||
// Only the last position is usefull:
|
// Only the last position is useful:
|
||||||
if( m_RoutePositions.size() > 1 )
|
if( m_RoutePositions.size() > 1 )
|
||||||
m_RoutePositions.erase( m_RoutePositions.begin(), m_RoutePositions.begin() + m_RoutePositions.size() - 1 );
|
m_RoutePositions.erase( m_RoutePositions.begin(), m_RoutePositions.begin() + m_RoutePositions.size() - 1 );
|
||||||
|
|
||||||
|
@ -870,7 +870,7 @@ void EXCELLON_IMAGE::SelectUnits( bool aMetric )
|
||||||
m_GerbMetric = true;
|
m_GerbMetric = true;
|
||||||
// number of digits in mantissa
|
// number of digits in mantissa
|
||||||
m_FmtScale.x = m_FmtScale.y = fmtMantissaMM;
|
m_FmtScale.x = m_FmtScale.y = fmtMantissaMM;
|
||||||
// number of digits (mantissa+interger)
|
// number of digits (mantissa+integer)
|
||||||
m_FmtLen.x = m_FmtLen.y = fmtIntegerMM+fmtMantissaMM;
|
m_FmtLen.x = m_FmtLen.y = fmtIntegerMM+fmtMantissaMM;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -298,7 +298,7 @@ void GBR_TO_PCB_EXPORTER::export_copper_item( const GERBER_DRAW_ITEM* aGbrItem,
|
||||||
// One can use a polygon or a zone to output a Gerber region.
|
// One can use a polygon or a zone to output a Gerber region.
|
||||||
// none are perfect.
|
// none are perfect.
|
||||||
// The current way is use a polygon, as the zone export
|
// The current way is use a polygon, as the zone export
|
||||||
// is exprimental and only for tests.
|
// is experimental and only for tests.
|
||||||
#if 1
|
#if 1
|
||||||
writePcbPolygon( aGbrItem->m_Polygon, aLayer );
|
writePcbPolygon( aGbrItem->m_Polygon, aLayer );
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -368,7 +368,7 @@ const EDA_RECT GERBER_DRAW_ITEM::GetBoundingBox() const
|
||||||
{
|
{
|
||||||
if( code )
|
if( code )
|
||||||
{
|
{
|
||||||
// Update the shape drawings and the bounding box coordiantes:
|
// Update the shape drawings and the bounding box coordinates:
|
||||||
code->GetMacro()->GetApertureMacroShape( this, m_Start );
|
code->GetMacro()->GetApertureMacroShape( this, m_Start );
|
||||||
// now the bounding box is valid:
|
// now the bounding box is valid:
|
||||||
bbox = code->GetMacro()->GetBoundingBox();
|
bbox = code->GetMacro()->GetBoundingBox();
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
* Function scaletoIU
|
* Function scaletoIU
|
||||||
* converts a distance given in floating point to our internal units
|
* converts a distance given in floating point to our internal units
|
||||||
*/
|
*/
|
||||||
extern int scaletoIU( double aCoord, bool isMetric ); // defined it rs274d_read_XY_and_IJ_coordiantes.cpp
|
extern int scaletoIU( double aCoord, bool isMetric ); // defined it rs274d_read_XY_and_IJ_coordinates.cpp
|
||||||
|
|
||||||
/* Format Gerber: NOTES:
|
/* Format Gerber: NOTES:
|
||||||
* Tools and D_CODES
|
* Tools and D_CODES
|
||||||
|
@ -55,7 +55,7 @@ extern int scaletoIU( double aCoord, bool isMetric ); // defined it rs274d
|
||||||
* D02 = light extinction (lift pen) when di placement
|
* D02 = light extinction (lift pen) when di placement
|
||||||
* D03 Flash
|
* D03 Flash
|
||||||
* D09 = VAPE Flash
|
* D09 = VAPE Flash
|
||||||
* D10 ... = Indentification Tool (Opening)
|
* D10 ... = Identification Tool (Opening)
|
||||||
*
|
*
|
||||||
* For tools:
|
* For tools:
|
||||||
* DCode min = D10
|
* DCode min = D10
|
||||||
|
@ -188,7 +188,7 @@ void GERBER_FILE_IMAGE::ResetDefaultValues()
|
||||||
m_NoTrailingZeros = false; // true: trailing zeros deleted
|
m_NoTrailingZeros = false; // true: trailing zeros deleted
|
||||||
m_ImageOffset.x = m_ImageOffset.y = 0; // Coord Offset, from IO command
|
m_ImageOffset.x = m_ImageOffset.y = 0; // Coord Offset, from IO command
|
||||||
m_ImageRotation = 0; // Allowed 0, 90, 180, 270 (in degree)
|
m_ImageRotation = 0; // Allowed 0, 90, 180, 270 (in degree)
|
||||||
m_LocalRotation = 0.0; // Layer totation from RO command (in 0.1 degree)
|
m_LocalRotation = 0.0; // Layer rotation from RO command (in 0.1 degree)
|
||||||
m_Offset.x = 0;
|
m_Offset.x = 0;
|
||||||
m_Offset.y = 0; // Coord Offset, from OF command
|
m_Offset.y = 0; // Coord Offset, from OF command
|
||||||
m_Scale.x = m_Scale.y = 1.0; // scale (A and B) this layer
|
m_Scale.x = m_Scale.y = 1.0; // scale (A and B) this layer
|
||||||
|
@ -205,7 +205,7 @@ void GERBER_FILE_IMAGE::ResetDefaultValues()
|
||||||
m_Iterpolation = GERB_INTERPOL_LINEAR_1X; // Linear, 90 arc, Circ.
|
m_Iterpolation = GERB_INTERPOL_LINEAR_1X; // Linear, 90 arc, Circ.
|
||||||
m_360Arc_enbl = false; // 360 deg circular
|
m_360Arc_enbl = false; // 360 deg circular
|
||||||
// interpolation disable
|
// interpolation disable
|
||||||
m_AsArcG74G75Cmd = false; // false untile a G74 or G75 comand is found
|
m_AsArcG74G75Cmd = false; // false until a G74 or G75 command is found
|
||||||
m_Current_Tool = 0; // Current Dcode selected
|
m_Current_Tool = 0; // Current Dcode selected
|
||||||
m_CommandState = 0; // State of the current command
|
m_CommandState = 0; // State of the current command
|
||||||
m_CurrentPos.x = m_CurrentPos.y = 0; // current specified coord
|
m_CurrentPos.x = m_CurrentPos.y = 0; // current specified coord
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
* On exit, Text points the beginning of the sequence unread
|
* On exit, Text points the beginning of the sequence unread
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// convertion scale from gerber file units to Gerbview internal units
|
// conversion scale from gerber file units to Gerbview internal units
|
||||||
// depending on the gerber file format
|
// depending on the gerber file format
|
||||||
// this scale list assumes gerber units are imperial.
|
// this scale list assumes gerber units are imperial.
|
||||||
// for metric gerber units, the imperial to metric conversion is made in read functions
|
// for metric gerber units, the imperial to metric conversion is made in read functions
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue