1. 01 May, 2013 1 commit
    • jean-pierre charras's avatar
      3D viewer: Modify yhe way board items shapes are built: · 4ac7dd58
      jean-pierre charras authored
      * All items shapes  are converted to polygons.
      * Polygons are merged layer by layer (for calculation time reasons,zones are not merged)
      * for copper layers, vias and pads holes are substracted from polygons (but, for calculation time reasons,  not inside zones areas).
      * the look is better, mainly when displaying the copper thickness
      * solder and paste layers are now shown in 3D viewer.
      * the code was seriously cleaned (but still needs to be enhanced).
      * Note this is a work in progress which needs refinements.
      4ac7dd58
  2. 29 Apr, 2013 1 commit
  3. 28 Apr, 2013 1 commit
    • Wayne Stambaugh's avatar
      More post Pcbnew NETLIST_READER change clean up. · 4a9681d5
      Wayne Stambaugh authored
      * Fix both legacy and s-expression netlist readers when footprints are
        assigned in the netlist.
      * Add some helper functions to NETLIST for detecting when footprints are set
        or not set and when they have been changed while loading the .cmp file.
      * Rename a few functions to improve their readability.
      4a9681d5
  4. 26 Apr, 2013 1 commit
    • Wayne Stambaugh's avatar
      Post Pcbnew NETLIST_READER change clean up. · 81271ad4
      Wayne Stambaugh authored
      * Tweak the NETLIST_READER code to allow for component footprint names that
        are not found in any library to generate a warning instead of an error and
        update the board accordingly.
      * Don't display undo warning in netlist dialog when dry run option selected.
      * Rename netlist_reader_common.cpp to netlist_reader.cpp
      * Rename netlist_reader_firstformat.cpp to legacy_netlist_reader.cpp
      * Rename netlist_reader_kicad.cpp to kicad_netlist_reader.cpp
      * Remove cvpcb/read_write_cmpfile.cpp and move the single function it
        contained into cvframe.cpp
      * Remove cvpcb/loadcmp.cpp and move the single function it contained into
        class_DisplayFootprintsFrame.cpp.
      * Remove cvpcb/readschematicnetlist.cpp and move the single function it
        contained into cvframe.cpp.
      * Remove cvpcb/setvisu.cpp and move the few functions it contained into
        the appropriate source file.
      81271ad4
  5. 25 Apr, 2013 1 commit
    • Wayne Stambaugh's avatar
      Pcbnew NETLIST_READER improvements. · 61b4f8a9
      Wayne Stambaugh authored
      * Create separate NETLIST object to hold contents of netlist files.
      * Read entire netlist and footprint link files before making applying
        changes to board.
      * Add BOARD::ReplaceNetlist() function to eliminate the calls between the
        NETLIST_READER, PCB_EDIT_FRAME, and BOARD objects.
      * Change placement of new components below the center of the current board
        or in the center of the page if the BOARD is empty.
      * Add dry run option to netlist dialog to print changes to message control
        without making changes.
      * Add button to netlist dialog to allow saving contents of message control
        to a file.
      * Eliminate the need to compile netlist_reader_*.cpp in both CvPcb and Pcbnew.
      * Add netlist_reader_*.cpp to the pcbcommon library.
      * Remove redundant load component link file code from CvPcb.
      * Modify CvPcb new to work with the new NETLIST_READER object.
      * Add compare() function and < and == operators to FPID object.
      * Add REPORTER class to hide an underlying string writing implementation for
        use in low level objects.  Thank you Dick for the idea.
      * Lots of minor coding policy, Doxygen comment, and missing license fixes.
      61b4f8a9
  6. 14 Apr, 2013 1 commit
  7. 09 Apr, 2013 2 commits
  8. 19 Feb, 2013 1 commit
  9. 12 Feb, 2013 2 commits
  10. 02 Feb, 2013 2 commits
    • Emmeran's avatar
      added option to allow zooming around the crosshair instead of the center; can... · 0bdf5bac
      Emmeran authored
      added option to allow zooming around the crosshair instead of the center; can be enabled via options or by holding alt while using the mousewheel
      0bdf5bac
    • jean-pierre charras's avatar
      Changes for CvPcb to eeschema stuff file: the stuff file generation from CvPcb... · 619125f9
      jean-pierre charras authored
      Changes for CvPcb to eeschema stuff file: the stuff file generation from CvPcb is removed. Eeschema now imports footprints names from the .cmp usual file created by CvPcb or by Pcbnew (Why to use 2 file formats for the same thing?) .
      Pcbnew: in netlist dialog: The user now can choose between the netlist and the .cmp file to import footprints names.
      Therfore no need to delete the .cmp file when exists to use only the netlist.
      This is useful for users who use CvPcb only once to fill footprints fields in schematic, and after edit/modify the footprints fields in schematic outside CvPcb.
      619125f9
  11. 12 Jan, 2013 1 commit
    • Wayne Stambaugh's avatar
      Base object decoupling improvements. · f8a56d44
      Wayne Stambaugh authored
      * Improve MSG_PANEL_ITEM to handle message panel information.
      * Create containers for passing message panel items between objects and
        the message panel.
      * Rename EDA_ITEM::DisplayInfo to EDA_ITEM::GetMsgPanelInfo.
      * Remove all direct manipulation of EDA_DRAW_FRAME from all objects derived
        from EDA_ITEM.
      f8a56d44
  12. 29 Dec, 2012 1 commit
  13. 06 Dec, 2012 1 commit
  14. 19 Nov, 2012 2 commits
  15. 09 Oct, 2012 1 commit
  16. 04 Oct, 2012 1 commit
  17. 27 Sep, 2012 1 commit
  18. 26 Sep, 2012 2 commits
  19. 22 Sep, 2012 1 commit
  20. 12 Sep, 2012 3 commits
  21. 11 Sep, 2012 1 commit
  22. 02 Sep, 2012 2 commits
  23. 01 Sep, 2012 1 commit
  24. 04 Aug, 2012 1 commit
  25. 31 May, 2012 1 commit
  26. 25 May, 2012 1 commit
    • jean-pierre charras's avatar
      Pcbnew: fix crash in legacy_plugin.cpp when reading old lib files. · e6ec9f0a
      jean-pierre charras authored
       fix a compil warning.
      CvPcb: fix regressions :
       Shows now a void field instead of the dummy footprint name $nonane (whenthere is  no footprint selected in netlist).
       The active footprint selection changes only if a new component is selected from the component file,
       and does not change just when the next component is automatically selected, after a footprint selection.
       Speed up delete association and auto associe.
      e6ec9f0a
  27. 10 May, 2012 1 commit
  28. 05 May, 2012 1 commit
  29. 01 May, 2012 1 commit
  30. 25 Apr, 2012 1 commit
  31. 19 Apr, 2012 1 commit
    • Dick Hollenbeck's avatar
      // Dick Hollenbeck's KiROUND R&D · c24863c0
      Dick Hollenbeck authored
      // 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;
      }
      c24863c0
  32. 17 Apr, 2012 1 commit