1. 24 Nov, 2013 1 commit
  2. 21 Sep, 2013 1 commit
  3. 05 Aug, 2013 1 commit
  4. 08 Jul, 2013 2 commits
  5. 05 May, 2013 1 commit
  6. 03 May, 2013 1 commit
  7. 01 May, 2013 2 commits
    • 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
    • Lorenzo Marcantonio's avatar
      Angle and distances cleanup (preparing for angles in doubles) · 0e903dba
      Lorenzo Marcantonio authored
      - Removed spurious int casts (these are truncated anyway and will break
        doubles)
      
      - Applied the Distance, GetLineLength, EuclideanNorm, DEG2RAD, RAD2DEG
        ArcTangente and NORMALIZE* functions where possible
      
      - ArcTangente now returns double and handles the 0,0 case like atan2, so
        it's no longer necessary to check for it before calling
      
      - Small functions in trigo moved as inline
      0e903dba
  8. 09 Apr, 2013 1 commit
  9. 02 Apr, 2013 1 commit
    • Maciej Suminski's avatar
      Introduction of Graphics Abstraction Layer based rendering for pcbnew. · e262b321
      Maciej Suminski authored
      New classes:
          - VIEW - represents view that is seen by user, takes care of layer ordering & visibility and how it is displayed (which location, how much zoomed, etc.)
          - VIEW_ITEM - Base class for every item that can be displayed on VIEW (the biggest change is that now it may be necessary to override ViewBBox & ViewGetLayers method for derived classes).
          - EDA_DRAW_PANEL_GAL - Inherits after EDA_DRAW_PANEL, displays VIEW output, right now it is not editable (in opposite to usual EDA_DRAW_PANEL).
          - GAL/OPENGL_GAL/CAIRO_GAL - Base Graphics Abstraction Layer class + two different flavours (Cairo is not fully supported yet), that offers methods to draw primitives using different libraries.
          - WX_VIEW_CONTROLS - Controller for VIEW, handles user events, allows zooming, panning, etc.
          - PAINTER/PCB_PAINTER - Classes that uses GAL interface to draw items (as you may have already guessed - PCB_PAINTER is a class for drawing PCB specific object, PAINTER is an abstract class). Its methods are invoked by VIEW, when an item has to be drawn. To display a new type of item - you need to implement draw(ITEM_TYPE*) method that draws it using GAL methods.
          - STROKE_FONT - Implements stroke font drawing using GAL methods.
                                
      Most important changes to Kicad original code:
          * EDA_ITEM now inherits from VIEW_ITEM, which is a base class for all drawable objects.
          * EDA_DRAW_FRAME contains both usual EDA_DRAW_PANEL and new EDA_DRAW_PANEL_GAL, that can be switched anytime.
          * There are some new layers for displaying multilayer pads, vias & pads holes (these are not shown yet on the right sidebar in pcbnew)
          * Display order of layers is different than in previous versions (if you are curious - you may check m_galLayerOrder@pcbnew/basepcbframe.cpp). Preserving usual order would result in not very natural display, such as showing silkscreen texts on the bottom.
          * Introduced new hotkey (Alt+F12) and new menu option (View->Switch canvas) for switching canvas during runtime.
          * Some of classes (mostly derived from BOARD_ITEM) now includes ViewBBox & ViewGetLayers methods.
          * Removed tools/class_painter.h, as now it is extended and included in source code.
                               
      Build changes:
          * GAL-based rendering option is turned on by a new compilation CMake option KICAD_GAL.
          * When compiling with CMake option KICAD_GAL=ON, GLEW and Cairo libraries are required.
          * GAL-related code is compiled into a static library (common/libgal).
          * Build with KICAD_GAL=OFF should not need any new libraries and should come out as a standard version of Kicad
                                  
      Currently most of items in pcbnew can be displayed using OpenGL (to be done are DIMENSIONS and MARKERS).
      More details about GAL can be found in: http://www.ohwr.org/attachments/1884/view-spec.pdf
      e262b321
  10. 31 Mar, 2013 1 commit
  11. 30 Mar, 2013 1 commit
  12. 28 Mar, 2013 1 commit
  13. 13 Jan, 2013 1 commit
  14. 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
  15. 01 Sep, 2012 1 commit
  16. 22 Apr, 2012 1 commit
  17. 17 Apr, 2012 1 commit
  18. 01 Apr, 2012 1 commit
    • Wayne Stambaugh's avatar
      Initial Pcbnew s-expression file format commit. · d7feb9ab
      Wayne Stambaugh authored
      * Add s-expression Format() function to all objects derived from
        BOARD_ITEM.
      * Add s-expression Format() function to base objects as required.
      * Add functions to convert coordinates from base internal units
        (nanometers) to millimeter string for writing to s-expression
        file.
      * Add temporary dummy conversion functions to prevent link errors
        until schematic and board object and action code can be separated
        into DSO/DLL.
      * Add CMake build option to build Pcbnew with nanometer internal
        units.
      d7feb9ab
  19. 26 Mar, 2012 1 commit
    • Wayne Stambaugh's avatar
      Minor code improvements and coding policy fixes. · 45445dd8
      Wayne Stambaugh authored
      * BLOCK_SELECTOR class is not longer derived from EDA_ITEM.
      * Encapsulate BLOCK_SELECTOR class member variables and add access methods.
      * Move HandleBlockBegin() function from block_commande.cpp to drawframe.cpp.
      * Remove virtual methods from top level derived objects per future
        coding policy change.
      * Remove Doxygen copydoc statement from objects derived from EDA_ITEM
        since the comments are automatically copied to the derived object.
      * Removed copy and pasted Doxygen comments from objects derived from
        EDA_ITEM.
      45445dd8
  20. 17 Mar, 2012 1 commit
  21. 15 Mar, 2012 1 commit
  22. 20 Feb, 2012 1 commit
  23. 23 Jan, 2012 1 commit
  24. 14 Jan, 2012 1 commit
    • Wayne Stambaugh's avatar
      Pcbnew object improvements. · 5289c220
      Wayne Stambaugh authored
      * Remove unnecessary copy constructors from board and module library
        objects.
      * Add doClone() method to board and library objects.
      * Add comment to class definitions where the default copy constructor
        generated by the compiler was adequate.
      * Replace copy method with clone method where applicable.
      * Remove DuplicateStruct() function.
      * Remove track object copy function.
      5289c220
  25. 29 Dec, 2011 1 commit
  26. 22 Dec, 2011 1 commit
  27. 14 Dec, 2011 2 commits
  28. 13 Dec, 2011 1 commit
  29. 07 Dec, 2011 1 commit
  30. 01 Dec, 2011 1 commit
  31. 30 Nov, 2011 2 commits
  32. 29 Nov, 2011 1 commit
  33. 24 Nov, 2011 1 commit
  34. 03 Nov, 2011 1 commit
  35. 31 Oct, 2011 2 commits