Loading 3d-viewer/3d_canvas.cpp +32 −2 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,34 @@ #include "bitmaps.h" #include "bitmaps.h" // ----------------- // helper function (from wxWidgets, opengl/cube.cpp sample // ----------------- void CheckGLError() { GLenum errLast = GL_NO_ERROR; for ( ;; ) { GLenum err = glGetError(); if ( err == GL_NO_ERROR ) return; // normally the error is reset by the call to glGetError() but if // glGetError() itself returns an error, we risk looping forever here // so check that we get a different error than the last time if ( err == errLast ) { wxLogError(wxT("OpenGL error state couldn't be reset.")); return; } errLast = err; wxLogError(wxT("OpenGL error %d"), err); } } /* /* * Pcb3D_GLCanvas implementation * Pcb3D_GLCanvas implementation */ */ Loading Loading @@ -538,6 +566,8 @@ void Pcb3D_GLCanvas::InitGL() // Setup light souces: // Setup light souces: SetLights(); SetLights(); CheckGLError(); } } Loading 3d-viewer/3d_draw.cpp +22 −39 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,8 @@ #error Please set wxUSE_GLCANVAS to 1 in setup.h. #error Please set wxUSE_GLCANVAS to 1 in setup.h. #endif #endif extern void CheckGLError(); static void Draw3D_FilledCircle( double posx, double posy, double rayon, static void Draw3D_FilledCircle( double posx, double posy, double rayon, double hole_rayon, double zpos ); double hole_rayon, double zpos ); static void Draw3D_FilledSegment( double startx, double starty, static void Draw3D_FilledSegment( double startx, double starty, Loading Loading @@ -348,9 +350,8 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List() glEndList(); glEndList(); /* Test for errors */ /* Test for errors */ GLenum err = glGetError(); CheckGLError(); if( err != GL_NO_ERROR ) DisplayError( this, wxT( "Error in GL commands" ) ); return m_gllist; return m_gllist; } } Loading Loading @@ -786,8 +787,6 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) delta_cx, delta_cy, delta_cx, delta_cy, xc, yc; xc, yc; int angle, delta_angle; int angle, delta_angle; int coord[4][2]; double fcoord[8][2], f_hole_coord[8][2]; double scale; double scale; double zpos; double zpos; wxPoint shape_pos; wxPoint shape_pos; Loading Loading @@ -917,33 +916,18 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) break; break; case PAD_RECT: case PAD_RECT: case PAD_TRAPEZOID: case PAD_TRAPEZOID: { { int ddx, ddy; wxPoint coord[5]; ddx = m_DeltaSize.x >> 1; wxRealPoint fcoord[8], f_hole_coord[8]; ddy = m_DeltaSize.y >> 1; BuildPadPolygon( coord, wxSize(0,0), angle ); coord[0][0] = -dx - ddy; coord[0][1] = +dy + ddx; coord[1][0] = -dx + ddy; coord[1][1] = -dy - ddx; coord[2][0] = +dx - ddy; coord[2][1] = -dy + ddx; coord[3][0] = +dx + ddy; coord[3][1] = +dy - ddx; for( ii = 0; ii < 4; ii++ ) for( ii = 0; ii < 4; ii++ ) { { RotatePoint( &coord[ii][0], &coord[ii][1], angle ); coord[ii].x += ux0; coord[ii][0] += ux0; coord[ii].y += uy0; coord[ii][1] += uy0; ll = ii * 2; ll = ii * 2; fcoord[ll][0] = coord[ii][0] *scale; fcoord[ll].x = coord[ii].x *scale; fcoord[ll][1] = coord[ii][1] *scale; fcoord[ll].y = coord[ii].y *scale; } } for( ii = 0; ii < 7; ii += 2 ) for( ii = 0; ii < 7; ii += 2 ) Loading @@ -951,18 +935,17 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) ll = ii + 2; ll = ii + 2; if( ll > 7 ) if( ll > 7 ) ll -= 8; ll -= 8; fcoord[ii + 1][0] = (fcoord[ii][0] + fcoord[ll][0]) / 2; fcoord[ii + 1].x = (fcoord[ii].x + fcoord[ll].x) / 2; fcoord[ii + 1][1] = (fcoord[ii][1] + fcoord[ll][1]) / 2; fcoord[ii + 1].y = (fcoord[ii].y + fcoord[ll].y) / 2; } } for( ii = 0; ii < 8; ii++ ) for( ii = 0; ii < 8; ii++ ) { { f_hole_coord[ii][0] = -hole * 0.707; f_hole_coord[ii].x = -hole * 0.707; f_hole_coord[ii][1] = hole * 0.707; f_hole_coord[ii].y = hole * 0.707; RotatePoint( &f_hole_coord[ii][0], &f_hole_coord[ii][1], RotatePoint( &f_hole_coord[ii].x, &f_hole_coord[ii].y, angle - (ii * 450) ); angle - (ii * 450) ); f_hole_coord[ii].x += drillx; f_hole_coord[ii][0] += drillx; f_hole_coord[ii].y += drilly; f_hole_coord[ii][1] += drilly; } } for( layer = FIRST_COPPER_LAYER; layer <= LAST_COPPER_LAYER; layer++ ) for( layer = FIRST_COPPER_LAYER; layer <= LAST_COPPER_LAYER; layer++ ) Loading Loading @@ -991,12 +974,12 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) glBegin( GL_QUAD_STRIP ); glBegin( GL_QUAD_STRIP ); for( ii = 0; ii < 8; ii++ ) for( ii = 0; ii < 8; ii++ ) { { glVertex3f( f_hole_coord[ii][0], -f_hole_coord[ii][1], zpos ); glVertex3f( f_hole_coord[ii].x, -f_hole_coord[ii].y, zpos ); glVertex3f( fcoord[ii][0], -fcoord[ii][1], zpos ); glVertex3f( fcoord[ii].x, -fcoord[ii].y, zpos ); } } glVertex3f( f_hole_coord[0][0], -f_hole_coord[0][1], zpos ); glVertex3f( f_hole_coord[0].x, -f_hole_coord[0].y, zpos ); glVertex3f( fcoord[0][0], -fcoord[0][1], zpos ); glVertex3f( fcoord[0].x, -fcoord[0].y, zpos ); glEnd(); glEnd(); } } } } Loading 3d-viewer/3d_toolbar.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -87,11 +87,11 @@ void WinEDA3D_DrawFrame::ReCreateHToolbar() _( "Move up ^" ) ); _( "Move up ^" ) ); m_HToolBar->AddTool( ID_MOVE3D_DOWN, wxEmptyString, wxBitmap( down_xpm ), m_HToolBar->AddTool( ID_MOVE3D_DOWN, wxEmptyString, wxBitmap( down_xpm ), _( "Move down" ) ); _( "Move down v" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( ID_ORTHO, wxEmptyString, wxBitmap( ortho_xpm ), m_HToolBar->AddTool( ID_ORTHO, wxEmptyString, wxBitmap( ortho_xpm ), _( "Enable/Disable ortographic projection" ), _( "Enable/Disable orthographic projection" ), wxITEM_CHECK ); wxITEM_CHECK ); m_HToolBar->Realize(); m_HToolBar->Realize(); Loading AUTHORS.txt +5 −10 Original line number Original line Diff line number Diff line * Copyright (C) 1992-2009 Jean-Pierre Charras * Copyright (C) 1992-2010 Jean-Pierre Charras * Copyright (C) 1992-2009 Kicad Developers Team * Copyright (C) 1992-2010 Kicad Developers Team * under GNU General Public License (see copyright.txt) * under GNU General Public License (see copyright.txt) == Main Author == Main Authors Jean-Pierre Charras <jean-pierre.charras[at]gipsa-lab-dot-inpg-dot-fr> Jean-Pierre Charras <jean-pierre.charras[at]gipsa-lab-dot-inpg-dot-fr> IUT1 GEII2 Dick Hollenbeck <dick[at]softplc-dot-com> Universite Joseph Fourier (U.J.F.) Wayne Stambaugh <stambaughw[at]verizon-dot-net> Saint Martin d'Hres (38402) Laboratiore GIPSA-Lab Saint Martin d'Hres == Contributors == Contributors Dick Hollenbeck <dick[at]softplc-dot-com> Hauptmech <hauptmech[at]gmail-dot-com> Hauptmech <hauptmech[at]gmail-dot-com> Jerry Jacobs <xor.gate.engineering[at]gmail-dot-com> Jerry Jacobs <xor.gate.engineering[at]gmail-dot-com> Jonas Diemer <diemer[at]gmx-dot-de> Jonas Diemer <diemer[at]gmx-dot-de> Loading @@ -21,7 +17,6 @@ Marco Serantoni <marco.serantoni[at]gmail-dot-com> (OSX maintener) Rok Markovic <rok[at]kanardia.eu> Rok Markovic <rok[at]kanardia.eu> Tim Hanson <sideskate[at]gmail-dot-com> Tim Hanson <sideskate[at]gmail-dot-com> Vesa Solonen <vesa.solonen[at]hut-dot-fi> Vesa Solonen <vesa.solonen[at]hut-dot-fi> Wayne Stambaugh <stambaughw[at]verizon-dot-net> See also CHANGELOG.txt for contributors. See also CHANGELOG.txt for contributors. Loading CHANGELOG.txt +15 −1 Original line number Original line Diff line number Diff line Loading @@ -4,7 +4,21 @@ KiCad ChangeLog 2010 Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with email address. email address. 2010-oct-15, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> 2010-nov-3 UPDATE Wayne Stambaugh <stambaughw@verizon.net> ================================================================================ ++common * Initial ground work for using Boost container for storing draw items instead of internal linked list. ++EESchema * Move tests for dangling end code back into schematic objects. * Add clear draw object state helper to SCH_SCREEN object. * Add support for schematic objects to keep temporary list of connection objects for dangling end and other connection related tests. * Rearrange schematic label object code. * Remove duplicate error message boxes when loading schematic items. 2010-oct-28, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> ================================================================================ ================================================================================ PolyLine.cpp: PolyLine.cpp: remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of Loading Loading
3d-viewer/3d_canvas.cpp +32 −2 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,34 @@ #include "bitmaps.h" #include "bitmaps.h" // ----------------- // helper function (from wxWidgets, opengl/cube.cpp sample // ----------------- void CheckGLError() { GLenum errLast = GL_NO_ERROR; for ( ;; ) { GLenum err = glGetError(); if ( err == GL_NO_ERROR ) return; // normally the error is reset by the call to glGetError() but if // glGetError() itself returns an error, we risk looping forever here // so check that we get a different error than the last time if ( err == errLast ) { wxLogError(wxT("OpenGL error state couldn't be reset.")); return; } errLast = err; wxLogError(wxT("OpenGL error %d"), err); } } /* /* * Pcb3D_GLCanvas implementation * Pcb3D_GLCanvas implementation */ */ Loading Loading @@ -538,6 +566,8 @@ void Pcb3D_GLCanvas::InitGL() // Setup light souces: // Setup light souces: SetLights(); SetLights(); CheckGLError(); } } Loading
3d-viewer/3d_draw.cpp +22 −39 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,8 @@ #error Please set wxUSE_GLCANVAS to 1 in setup.h. #error Please set wxUSE_GLCANVAS to 1 in setup.h. #endif #endif extern void CheckGLError(); static void Draw3D_FilledCircle( double posx, double posy, double rayon, static void Draw3D_FilledCircle( double posx, double posy, double rayon, double hole_rayon, double zpos ); double hole_rayon, double zpos ); static void Draw3D_FilledSegment( double startx, double starty, static void Draw3D_FilledSegment( double startx, double starty, Loading Loading @@ -348,9 +350,8 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List() glEndList(); glEndList(); /* Test for errors */ /* Test for errors */ GLenum err = glGetError(); CheckGLError(); if( err != GL_NO_ERROR ) DisplayError( this, wxT( "Error in GL commands" ) ); return m_gllist; return m_gllist; } } Loading Loading @@ -786,8 +787,6 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) delta_cx, delta_cy, delta_cx, delta_cy, xc, yc; xc, yc; int angle, delta_angle; int angle, delta_angle; int coord[4][2]; double fcoord[8][2], f_hole_coord[8][2]; double scale; double scale; double zpos; double zpos; wxPoint shape_pos; wxPoint shape_pos; Loading Loading @@ -917,33 +916,18 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) break; break; case PAD_RECT: case PAD_RECT: case PAD_TRAPEZOID: case PAD_TRAPEZOID: { { int ddx, ddy; wxPoint coord[5]; ddx = m_DeltaSize.x >> 1; wxRealPoint fcoord[8], f_hole_coord[8]; ddy = m_DeltaSize.y >> 1; BuildPadPolygon( coord, wxSize(0,0), angle ); coord[0][0] = -dx - ddy; coord[0][1] = +dy + ddx; coord[1][0] = -dx + ddy; coord[1][1] = -dy - ddx; coord[2][0] = +dx - ddy; coord[2][1] = -dy + ddx; coord[3][0] = +dx + ddy; coord[3][1] = +dy - ddx; for( ii = 0; ii < 4; ii++ ) for( ii = 0; ii < 4; ii++ ) { { RotatePoint( &coord[ii][0], &coord[ii][1], angle ); coord[ii].x += ux0; coord[ii][0] += ux0; coord[ii].y += uy0; coord[ii][1] += uy0; ll = ii * 2; ll = ii * 2; fcoord[ll][0] = coord[ii][0] *scale; fcoord[ll].x = coord[ii].x *scale; fcoord[ll][1] = coord[ii][1] *scale; fcoord[ll].y = coord[ii].y *scale; } } for( ii = 0; ii < 7; ii += 2 ) for( ii = 0; ii < 7; ii += 2 ) Loading @@ -951,18 +935,17 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) ll = ii + 2; ll = ii + 2; if( ll > 7 ) if( ll > 7 ) ll -= 8; ll -= 8; fcoord[ii + 1][0] = (fcoord[ii][0] + fcoord[ll][0]) / 2; fcoord[ii + 1].x = (fcoord[ii].x + fcoord[ll].x) / 2; fcoord[ii + 1][1] = (fcoord[ii][1] + fcoord[ll][1]) / 2; fcoord[ii + 1].y = (fcoord[ii].y + fcoord[ll].y) / 2; } } for( ii = 0; ii < 8; ii++ ) for( ii = 0; ii < 8; ii++ ) { { f_hole_coord[ii][0] = -hole * 0.707; f_hole_coord[ii].x = -hole * 0.707; f_hole_coord[ii][1] = hole * 0.707; f_hole_coord[ii].y = hole * 0.707; RotatePoint( &f_hole_coord[ii][0], &f_hole_coord[ii][1], RotatePoint( &f_hole_coord[ii].x, &f_hole_coord[ii].y, angle - (ii * 450) ); angle - (ii * 450) ); f_hole_coord[ii].x += drillx; f_hole_coord[ii][0] += drillx; f_hole_coord[ii].y += drilly; f_hole_coord[ii][1] += drilly; } } for( layer = FIRST_COPPER_LAYER; layer <= LAST_COPPER_LAYER; layer++ ) for( layer = FIRST_COPPER_LAYER; layer <= LAST_COPPER_LAYER; layer++ ) Loading Loading @@ -991,12 +974,12 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas ) glBegin( GL_QUAD_STRIP ); glBegin( GL_QUAD_STRIP ); for( ii = 0; ii < 8; ii++ ) for( ii = 0; ii < 8; ii++ ) { { glVertex3f( f_hole_coord[ii][0], -f_hole_coord[ii][1], zpos ); glVertex3f( f_hole_coord[ii].x, -f_hole_coord[ii].y, zpos ); glVertex3f( fcoord[ii][0], -fcoord[ii][1], zpos ); glVertex3f( fcoord[ii].x, -fcoord[ii].y, zpos ); } } glVertex3f( f_hole_coord[0][0], -f_hole_coord[0][1], zpos ); glVertex3f( f_hole_coord[0].x, -f_hole_coord[0].y, zpos ); glVertex3f( fcoord[0][0], -fcoord[0][1], zpos ); glVertex3f( fcoord[0].x, -fcoord[0].y, zpos ); glEnd(); glEnd(); } } } } Loading
3d-viewer/3d_toolbar.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -87,11 +87,11 @@ void WinEDA3D_DrawFrame::ReCreateHToolbar() _( "Move up ^" ) ); _( "Move up ^" ) ); m_HToolBar->AddTool( ID_MOVE3D_DOWN, wxEmptyString, wxBitmap( down_xpm ), m_HToolBar->AddTool( ID_MOVE3D_DOWN, wxEmptyString, wxBitmap( down_xpm ), _( "Move down" ) ); _( "Move down v" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( ID_ORTHO, wxEmptyString, wxBitmap( ortho_xpm ), m_HToolBar->AddTool( ID_ORTHO, wxEmptyString, wxBitmap( ortho_xpm ), _( "Enable/Disable ortographic projection" ), _( "Enable/Disable orthographic projection" ), wxITEM_CHECK ); wxITEM_CHECK ); m_HToolBar->Realize(); m_HToolBar->Realize(); Loading
AUTHORS.txt +5 −10 Original line number Original line Diff line number Diff line * Copyright (C) 1992-2009 Jean-Pierre Charras * Copyright (C) 1992-2010 Jean-Pierre Charras * Copyright (C) 1992-2009 Kicad Developers Team * Copyright (C) 1992-2010 Kicad Developers Team * under GNU General Public License (see copyright.txt) * under GNU General Public License (see copyright.txt) == Main Author == Main Authors Jean-Pierre Charras <jean-pierre.charras[at]gipsa-lab-dot-inpg-dot-fr> Jean-Pierre Charras <jean-pierre.charras[at]gipsa-lab-dot-inpg-dot-fr> IUT1 GEII2 Dick Hollenbeck <dick[at]softplc-dot-com> Universite Joseph Fourier (U.J.F.) Wayne Stambaugh <stambaughw[at]verizon-dot-net> Saint Martin d'Hres (38402) Laboratiore GIPSA-Lab Saint Martin d'Hres == Contributors == Contributors Dick Hollenbeck <dick[at]softplc-dot-com> Hauptmech <hauptmech[at]gmail-dot-com> Hauptmech <hauptmech[at]gmail-dot-com> Jerry Jacobs <xor.gate.engineering[at]gmail-dot-com> Jerry Jacobs <xor.gate.engineering[at]gmail-dot-com> Jonas Diemer <diemer[at]gmx-dot-de> Jonas Diemer <diemer[at]gmx-dot-de> Loading @@ -21,7 +17,6 @@ Marco Serantoni <marco.serantoni[at]gmail-dot-com> (OSX maintener) Rok Markovic <rok[at]kanardia.eu> Rok Markovic <rok[at]kanardia.eu> Tim Hanson <sideskate[at]gmail-dot-com> Tim Hanson <sideskate[at]gmail-dot-com> Vesa Solonen <vesa.solonen[at]hut-dot-fi> Vesa Solonen <vesa.solonen[at]hut-dot-fi> Wayne Stambaugh <stambaughw[at]verizon-dot-net> See also CHANGELOG.txt for contributors. See also CHANGELOG.txt for contributors. Loading
CHANGELOG.txt +15 −1 Original line number Original line Diff line number Diff line Loading @@ -4,7 +4,21 @@ KiCad ChangeLog 2010 Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with email address. email address. 2010-oct-15, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> 2010-nov-3 UPDATE Wayne Stambaugh <stambaughw@verizon.net> ================================================================================ ++common * Initial ground work for using Boost container for storing draw items instead of internal linked list. ++EESchema * Move tests for dangling end code back into schematic objects. * Add clear draw object state helper to SCH_SCREEN object. * Add support for schematic objects to keep temporary list of connection objects for dangling end and other connection related tests. * Rearrange schematic label object code. * Remove duplicate error message boxes when loading schematic items. 2010-oct-28, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> ================================================================================ ================================================================================ PolyLine.cpp: PolyLine.cpp: remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of Loading