Lorenzo Marcantonio
f50f31e5a3
Added include guard to math_for_graphics.h
2013-04-30 15:27:08 +02:00
Lorenzo Marcantonio
74a57d4ea8
Cleanup of the eeschema 'layers' i.e. entitity colours. This also fixes
...
the spurious warning about stuff that couldn't be seen when changing
colours.
NOTE that the 'net name' layer is present and configurable but non used
anywhere!
2013-04-06 07:01:48 +02:00
Lorenzo Marcantonio
00f0e27851
Factored layer utility functions: classification, layer flip and mask flip
2013-04-05 21:04:58 +02:00
jean-pierre charras
92e0eb628c
Minor changes in dialogs to ensure a better likeness between dialogs on Linux and Windows (mainly, remove some wxStaticBoxSizer in dialogs)
2013-04-01 12:50:01 +02:00
Lorenzo Marcantonio
9fd79dfa91
Implemented the LAYER_NUM typedef (LAYER was already taken as a class name...) to represent a layer number.
2013-03-31 15:27:46 +02:00
Lorenzo Marcantonio
e0303a4558
- New typedef LAYER_MSK to encapsulate a layer bitmap
...
- Renamed ReturnMaskLayer to GetLayerMask (since it's a plain getter)
2013-03-30 18:24:04 +01:00
jean-pierre charras
77945c4eb8
Pcbnew: Export vrml: fix an issue for 3D shapes having a local offset defined: the local offset was not correctly scaled.
2013-02-19 10:21:55 +01:00
Dick Hollenbeck
e1addadb4d
fix compiler warnings on gcc 4.6.3, Debug build
2013-02-12 11:41:13 -06:00
jean-pierre charras
93a5b4a07f
Upgrade boost to version 1.53.0 and clipper to 5.03
2013-02-10 14:52:01 +01:00
jean-pierre charras
78a8be0e8e
Pcbnew: fix a very old bug in DRC, pad to pad drc tests: sometimes a test between a rectangular pad and an oval pad was skipped.
...
Segment Hit Test: enhanced detection near segment ends (noticeable for instance when clicking on short tracks in Pcbnew.
Remove duplicate code about segment hit test.
remove unused file.
2013-01-26 18:49:48 +01:00
Marco Mattila
6559d6a582
Fix pcbnew zone corner filleting
2012-11-30 07:51:47 +02:00
jean-pierre charras
efdf28f67e
Polyline.cpp: fix a bad wxASSERT test which generate error messages in Debug mode when there is no error, in DEBUG mode, when filling zones with holes.
2012-11-27 21:12:39 +01:00
jean-pierre charras
31332c3973
polygon: update clipper lib.
2012-11-20 12:42:39 +01:00
Dick Hollenbeck
210a7036db
switch all <math.h> includes to <cmath> includes on an attempt to dodge some abiguous references to atan2()
2012-09-21 12:02:54 -05:00
jean-pierre charras
92b43c7407
Fix 0 length segment in outline zone creation, that breaks zone chamfer option.
2012-08-31 15:58:23 +02:00
jean-pierre charras
1f277fd66d
Remove Kbool from Kicad. Use Clipper instead.
2012-08-04 11:43:27 +02:00
jean-pierre charras
7fd24c7f03
Very minor fixes.
2012-08-03 17:43:15 +02:00
jean-pierre charras
899d23d4fd
Polygon code cleanup
2012-08-02 19:32:42 +02:00
jean-pierre charras
3b56ea6732
Eeschema: fix crash when changing a label type to a global label during creation.
...
Pcbnew: code cleaning in polygons
2012-08-02 15:23:53 +02:00
jean-pierre charras
90a6daa722
Cleanup math_for_graphic code
2012-08-01 09:07:56 +02:00
jean-pierre charras
dfdd2cfdbf
Remove freepcb arc legacy code from PolyLine.
2012-07-31 19:51:58 +02:00
jean-pierre charras
ae05cd80c3
Remove arcs support in zone outlines: this is a legacy code from FreePCB, never used, never tested, never maintained.
2012-07-31 15:12:51 +02:00
jean-pierre charras
f96d557e73
Fix issues in zones creation (DRC and merging) I created in 3658.1
2012-07-30 09:40:25 +02:00
jean-pierre charras
99b90d2fa3
More work on a better support of polygons in Kicad (code cleaning).
2012-07-25 20:46:25 +02:00
jean-pierre charras
ef5f1b9e6b
Start work on a better support of polygons in Kicad (code cleaning).
...
Some coding style policy fix.
2012-07-25 09:36:56 +02:00
jean-pierre charras
018b080001
Pcbnew: Add keepout areas (Copper zones without tracks or/and vias).
...
This is *a work in progress*, so some features are missing, and/or could be modified.
Mainly keepout zones are not yet exported to autorouters, and pads are not taken in account.
Some code cleanup in polygon.*
2012-07-13 20:55:29 +02:00
Dick Hollenbeck
d3f9554841
CPolyPt constructors
2012-06-10 04:48:42 -05:00
Marco Mattila
64c1ea5cec
Add missing checks and undo support to pcbnew zone duplication.
2012-06-05 14:44:22 +03:00
jean-pierre charras
6d1fe6fe5e
Fix 2 minor warning compil (unused variables)
2012-05-16 22:44:21 +02:00
Dick Hollenbeck
3fa7c200b7
Add tools/parser_gen.cpp which is the beginnings of an s-expression parser
...
generation tool. For now, it is just an s-expression beautifier using
our "non-specctra mode" version of s-expressions.
2012-04-29 21:57:48 -05:00
jean-pierre charras
fa3ebc4043
Define MM_TO_IU_SCALING_FACTOR (scaling factor from mm to internal units) only in convert_to_biu.h
...
Other scaling factors (MILS_TO_IU_SCALING_FACTOR and DECIMILS_TO_IU_SCALING_FACTOR)
also defined only in convert_to_biu.h.
Allows different scaling value for Gerbview.
Needs more tests.
2012-04-25 21:33:24 +02:00
Dick Hollenbeck
33616f3051
* Add DRECT, DPOINT, and DSIZE (double rect, point, and size) using Torsten's vector2d.h
...
as a starting point
* Make double Distance() take double arguments and remove internal range checking.
* Start on EDA_DRAW_FRAME::AdjustScrollBars() and use "double" for most all calculations
in anticipation of setting INT_MAX INT_MIN limits eventually.
2012-04-23 16:56:26 -05:00
Dick Hollenbeck
c24863c078
// Dick Hollenbeck's KiROUND R&D
...
// This provides better project control over rounding to int from double
// than wxRound() did. This scheme provides better logging in Debug builds
// and it provides for compile time calculation of constants.
#include <stdio.h>
#include <assert.h>
#include <limits.h>
//-----<KiROUND KIT>------------------------------------------------------------
/**
* KiROUND
* rounds a floating point number to an int using
* "round halfway cases away from zero".
* In Debug build an assert fires if will not fit into an int.
*/
#if defined( DEBUG )
// DEBUG: a macro to capture line and file, then calls this inline
static inline int KiRound( double v, int line, const char* filename )
{
v = v < 0 ? v - 0.5 : v + 0.5;
if( v > INT_MAX + 0.5 )
{
printf( "%s: in file %s on line %d, val: %.16g too ' > 0 ' for int\n", __FUNCTION__, filename, line, v );
}
else if( v < INT_MIN - 0.5 )
{
printf( "%s: in file %s on line %d, val: %.16g too ' < 0 ' for int\n", __FUNCTION__, filename, line, v );
}
return int( v );
}
#define KiROUND( v ) KiRound( v, __LINE__, __FILE__ )
#else
// RELEASE: a macro so compile can pre-compute constants.
#define KiROUND( v ) int( (v) < 0 ? (v) - 0.5 : (v) + 0.5 )
#endif
//-----</KiROUND KIT>-----------------------------------------------------------
// Only a macro is compile time calculated, an inline function causes a static constructor
// in a situation like this.
// Therefore the Release build is best done with a MACRO not an inline function.
int Computed = KiROUND( 14.3 * 8 );
int main( int argc, char** argv )
{
for( double d = double(INT_MAX)-1; d < double(INT_MAX)+8; d += 2.0 )
{
int i = KiROUND( d );
printf( "t: %d %.16g\n", i, d );
}
return 0;
}
2012-04-19 01:55:45 -05:00
Dick Hollenbeck
72d4b2353b
uncrustify math_for_graphics, add copyright legacy_plugin.h
2012-04-17 09:18:14 -05:00
jean-pierre charras
36dac0c14d
Pcbnew nanometer: fix hatch lines issue in polyline.cpp
...
Some minor code cleaning.
2012-04-11 11:47:57 +02:00
Dick Hollenbeck
e730219b31
add PCNBEW nanometer support to specctra round-tripper, use micro-meters to do it.
2012-04-10 11:28:26 -05:00
Dick Hollenbeck
107ef8f102
see CHANGELOG.txt
2012-02-19 22:33:54 -06:00
Dick Hollenbeck
b90d657cb8
fix bug 921553
2012-02-08 09:06:06 -06:00
Dick Hollenbeck
b8a0ab4c52
switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths
2012-01-22 22:33:36 -06:00
Dick Hollenbeck
e6c8515873
switch to C++'s false and true from C's FALSE and TRUE
2012-01-22 11:20:22 -06:00
jean-pierre charras
3383d6c8a5
Code cleaning and better comments.
...
Gebview: fix issue in export to pcbnew (Track arc shapes are now exported, approximated by segments)
2012-01-13 19:35:46 +01:00
jean-pierre charras
1c98200721
Pcbnew: fix issue when KICAD_NANOMETER is defined: when zones use htcth to show zones areas, hatch lines were incorrectly calculated (hunded of thousand lines created)
...
Eeschema: fix issue in search: search not made in reference strings.
Minor fixes, code cleaning and comment enhancements.
2012-01-10 21:12:46 +01:00
jean-pierre charras
2df818b844
Fix issue in GPcb footprints import.
...
Better code in test connections in zones.
Very minor other fixes
2011-12-22 09:07:50 +01:00
Dick Hollenbeck
b6508af0f4
KICAD_PLUGIN and nanometer intermediate checkin, work in progress...
2011-11-30 15:15:56 -06:00
Dick Hollenbeck
cc097762c7
Temporarily reverse out the evolving support for finer Board Internal Units (BIU)s.
2011-11-24 11:32:51 -06:00
Vladimir Ur
09a61396ba
Some code restyling: VECTOR_PCB is an array. Cleanup uncontrolled definitions of abs, max, etc. max is now overloaded function and MAX is a macro.
2011-11-15 22:26:06 +04:00
Wayne Stambaugh
baa0d7920a
EESchema bug fixes and other minor changes (fixes lp:793373).
...
* Fix debug build warning (lp:793373).
* Changed sheet edit restore and undo to use object copy and replace method.
* Add minimum width and height constraints when resizing sheets that have
hierarchical pins.
* Fix drag sheet hot key bug.
* Change Doxygen configuration to extract private methods and members
when creating documentation.
* Fix a bunch of Doxygen comment warnings.
2011-06-07 11:29:01 -04:00
Wayne Stambaugh
a338e0e5b3
Minor GCC3 compiler warning fixes.
2011-03-17 09:53:19 -04:00
Marco Mattila
d3932f5f25
Pcbnew: Fix add similar/cutout zone. Fix zone corner smoothing for zones with cutouts.
2011-02-23 23:34:28 +02:00
Wayne Stambaugh
c9688deedf
MSVC compiler error and GCC warning fixes.
...
* Fixed ambiguous call to sqrt() MSVC compiler error.
* Fixed a bunch of type conversion warnings in GCC 3 (MinGW).
2011-02-22 09:38:48 -05:00
Marco Mattila
cbee247737
Add zone corner smoothing to pcbnew.
2011-02-21 21:43:59 +02:00
jean-pierre charras
e7d5770f42
Fix some Doxygen warnings.
...
Eeschema: cleaning code. Start work to enhance annotation algorithm.
Already added an option to annotate using sheet number (sheet 1 uses numbers 100 to 199, sheet 2 uses 200 to 299..).
Works fine if deleting existing annotation, but needs work to be used when the existing annotation is kept .
2011-01-01 18:28:21 +01:00
jean-pierre charras
fdb18547a6
Eeschema: fix bug 676532. Minor enhancements.
2010-11-17 19:41:20 +01:00
jean-pierre charras
746dea5ae3
Pcbnew: fix a serious bug in ZONE_CONTAINER::HitTestFilledArea( ) which could break connectivity calculations relative to copper areas.
...
Fix also very minor issues relative to copper zones.
Update boost::polygon from Boost svn repository.
2010-11-13 20:21:16 +01:00
Dick Hollenbeck
6c9244e8c3
fix function comments, this time ones in *.cpp files until they
...
can be deleted later if they exist in the headers, or moved to
headers if they should exist in the headers.
2010-11-12 10:59:16 -06:00
Dick Hollenbeck
636b2d301e
function comments, fix ones in *.cpp files until they can be deleted if they exist in the headers
2010-11-12 10:36:43 -06:00
Dick Hollenbeck
845d61acc5
coding standards consistency updates
2010-11-12 09:17:10 -06:00
jean-pierre charras
fd1c159a59
Fix bug in PolyLine.cpp, Fix bug in DRC calculations (see changelog). Cvpcb: move dialog files in dialogs/
2010-10-28 15:02:07 +02:00
jean-pierre charras
a188f9d06e
added orto2 patch
2010-10-04 14:58:07 +02:00
jean-pierre charras
f1df65c51f
DRC code cleaning, and added DRC tests for trapezoidal pads. Needs more tests
2010-09-20 18:21:47 +02:00
charras
bee0d118f0
fixed a potential bug in fill zone.
...
Tried to fix a problem under Vista and Window 7 in fill zone: sometimes Pcbnew crashes.
Could be a bug in Kbool (see changelog).
2010-01-03 16:47:46 +00:00
charras
da20f1109f
Fixed my filling problem in pcbnew by changing some parameters in kbool
...
But this problem needs more investigations
2009-11-16 12:10:37 +00:00
charras
ab66f9ecba
rework on zones:try to fix a filling problem with kbool
2009-11-14 19:47:52 +00:00
charras
4537ac8c99
Fixed cvpcb crash (only when compiled in Debug version)
2009-09-19 16:15:40 +00:00
charras
7776dd61eb
use kbool 2.1 in zones calculations. see CHANGELOG for others changes and more info
2009-09-17 17:48:40 +00:00
charras
ef2e41e347
2009-09-10 13:04:04 +00:00
charras
cfdb28394e
Pcbnew: Work on undo/redo in Pcbnew almost finished.
2009-08-23 15:22:44 +00:00
charras
cffe0cfcaa
support for bezier curves
2009-06-25 20:45:27 +00:00
f3nix
7fc9e5f177
Clean some CMakeLists.txt files.
2009-06-21 13:37:27 +00:00
stambaughw
8bf7911125
Build improvements, compiler warning fixes and build fixes, and lots of clean up.
...
* Created separate SVN version header.
* Add true config.h for platform dependency checks.
* Add dependency check cmake module.
* Remove some leftover hand crafted make files.
* Remove non-cmake build instructions from COMPILING.txt.
* Fix split _() strings causing Visual C++ compiler error.
* Fix lots of compiler warnings.
* Change project file parameter container from wxArray to boost::vector_ptr.
* Removed lots of redundant header definitions.
* Fixed green_xpm redefinition in ercgreen.xpm.
* Remove some dead code and unnecessary class methods.
2009-05-21 17:42:42 +00:00
charras
13a1c6be37
delete "old" makefiles. Use CMakefiles only
2009-05-07 17:33:05 +00:00
charras
71ca194b68
overbar patch merged mainly in eechema/class_pin.cpp. Some cleanup and compil problem fixes.
2009-04-06 10:56:17 +00:00
stambaughw
689579bde1
Global variable unobfuscation, new library path search, and lots of other changes. See CHANGELOG.txt.
2009-04-05 20:49:15 +00:00
charras
f2c03f2b97
gr_basic.cpp now clips filled polygons,using the Sutherland and Hodgman algo to clip the poly against a rectangle
...
Filled polygons are now correctly displayed under Linux(i hope)
2009-02-20 14:31:16 +00:00
charras
c39ef78ddc
minor changes.
2009-01-15 20:41:41 +00:00
charras
67fa1ddb92
comments updated
2008-12-03 19:45:57 +00:00
charras
75b3c3bf37
Switch to polygons in zones (old way no more supported)
...
areas can be now filled using solid polygons, or using segments to fill areas inside polygons.
2008-12-03 10:32:53 +00:00
charras
43f75cda0d
code cleaning
2008-11-23 17:43:53 +00:00
charras
b3b9c12173
code cleaning
2008-11-23 16:31:35 +00:00
charras
1c6ff86768
Zones now have a min thickness filled area parameter
2008-11-22 20:50:30 +00:00
charras
178bc946e3
First version of pcbnew using polygonal filled areas in zones in rats nets calculations.
2008-11-18 18:13:55 +00:00
raburton
ba25d20f1a
set eol-style native on new files
2008-11-14 22:40:31 +00:00
charras
521f428c35
Using the last version (1.9) of kbool, downloaded from the wxArt2D project site.
2008-11-14 19:38:58 +00:00
charras
b3c064b0b4
Thermal shapes modification for round and oblong pads.
...
This is a workaround for a bug (i believe) of kbool.
2008-11-09 17:14:53 +00:00
charras
134c07f94b
Thermal shapes modification for round and oblong pads.
...
This is a workaround for a bug (i believe) of kbool.
2008-11-09 15:01:35 +00:00
charras
f723c540d0
code cleaning. Some comments translated into English.
...
Added: Zones unfill in polygon mode
2008-10-29 15:26:53 +00:00
charras
3c97a45f48
code cleaning, and some minor bugs solved
2008-10-25 10:21:46 +00:00
charras
544ca4c90d
solved a very subtle bug in polygon_test_point_inside.cpp. Sometimes a point outside a polygon was seen inside the polygon
2008-10-15 17:14:51 +00:00
charras
2c60c00640
Some enhancements about code for zones
2008-10-13 12:01:12 +00:00
charras
72fae7e9e3
updating polygon lib code. A bug removed.
2008-10-12 15:30:23 +00:00
charras
b7db0ef850
updating polygon lib code. A bug removed.
2008-10-12 15:29:43 +00:00
charras
7c5feb61e7
pcbnew: insulated islands in copper pour removed
2008-10-11 19:27:43 +00:00
charras
4cccb0dd7e
First tests about copper zones filled by polygons, without grid (see changelog)
...
Only for tests! not for production.
2008-10-02 13:24:31 +00:00
charras
ab1df3f1d7
more about non copper zones (see changelog)
2008-09-27 19:26:29 +00:00
charras
27cf4ad0ad
pcbnew: addded zones in non copper areas and starting work to use polygons in zone fill algos in not copper areas
...
work in progress: see changelog
2008-09-26 19:51:36 +00:00
charras
5a904e460a
Solved kbool lib compil problem under Windows and wxWidgets shared version
...
Pcbnew: Add position edition in footprint dialog edition
2008-09-05 16:08:13 +00:00
kajtek1
a8a351327d
Fixed compiler warnings
2008-06-20 22:17:59 +00:00
f3nix
6bb111cb8e
CMake files cleaning.
2008-06-06 12:39:00 +00:00
raburton
1e1a1bb620
set eol-style native on new files
2008-06-05 18:35:58 +00:00
charras
9131e2a104
compiling problems in kbool
2008-06-02 10:23:50 +00:00