Commit 5a784e2d authored by Dick Hollenbeck's avatar Dick Hollenbeck
Browse files

changes

parents 9c00a0e0 067bf851
Loading
Loading
Loading
Loading
+32 −2
Original line number Diff line number Diff line
@@ -24,6 +24,34 @@
#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
 */
@@ -538,6 +566,8 @@ void Pcb3D_GLCanvas::InitGL()

    // Setup light souces:
    SetLights();

    CheckGLError();
}


+22 −39
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
#endif

extern void CheckGLError();

static void    Draw3D_FilledCircle( double posx, double posy, double rayon,
                                    double hole_rayon, double zpos );
static void    Draw3D_FilledSegment( double startx, double starty,
@@ -348,9 +350,8 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
    glEndList();

    /* Test for errors */
    GLenum err = glGetError();
    if( err != GL_NO_ERROR )
        DisplayError( this, wxT( "Error in GL commands" ) );
    CheckGLError();

    return m_gllist;
}

@@ -786,8 +787,6 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
        delta_cx, delta_cy,
        xc, yc;
    int     angle, delta_angle;
    int     coord[4][2];
    double  fcoord[8][2], f_hole_coord[8][2];
    double  scale;
    double  zpos;
    wxPoint shape_pos;
@@ -917,33 +916,18 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
        break;

    case PAD_RECT:

    case PAD_TRAPEZOID:
    {
        int ddx, ddy;
        ddx = m_DeltaSize.x >> 1;
        ddy = m_DeltaSize.y >> 1;

        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;

        wxPoint  coord[5];
        wxRealPoint  fcoord[8], f_hole_coord[8];
        BuildPadPolygon( coord, wxSize(0,0), angle );
        for( ii = 0; ii < 4; ii++ )
        {
            RotatePoint( &coord[ii][0], &coord[ii][1], angle );
            coord[ii][0] += ux0;
            coord[ii][1] += uy0;
            coord[ii].x += ux0;
            coord[ii].y += uy0;
            ll = ii * 2;
            fcoord[ll][0] = coord[ii][0] *scale;
            fcoord[ll][1] = coord[ii][1] *scale;
            fcoord[ll].x = coord[ii].x *scale;
            fcoord[ll].y = coord[ii].y *scale;
        }

        for( ii = 0; ii < 7; ii += 2 )
@@ -951,18 +935,17 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
            ll = ii + 2;
            if( ll > 7 )
                ll -= 8;
            fcoord[ii + 1][0] = (fcoord[ii][0] + fcoord[ll][0]) / 2;
            fcoord[ii + 1][1] = (fcoord[ii][1] + fcoord[ll][1]) / 2;
            fcoord[ii + 1].x = (fcoord[ii].x + fcoord[ll].x) / 2;
            fcoord[ii + 1].y = (fcoord[ii].y + fcoord[ll].y) / 2;
        }

        for( ii = 0; ii < 8; ii++ )
        {
            f_hole_coord[ii][0] = -hole * 0.707;
            f_hole_coord[ii][1] = hole * 0.707;
            RotatePoint( &f_hole_coord[ii][0], &f_hole_coord[ii][1],
                        angle - (ii * 450) );
            f_hole_coord[ii][0] += drillx;
            f_hole_coord[ii][1] += drilly;
            f_hole_coord[ii].x = -hole * 0.707;
            f_hole_coord[ii].y = hole * 0.707;
            RotatePoint( &f_hole_coord[ii].x, &f_hole_coord[ii].y, angle - (ii * 450) );
            f_hole_coord[ii].x += drillx;
            f_hole_coord[ii].y += drilly;
        }

        for( layer = FIRST_COPPER_LAYER; layer <= LAST_COPPER_LAYER; layer++ )
@@ -991,12 +974,12 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
            glBegin( GL_QUAD_STRIP );
            for( ii = 0; ii < 8; ii++ )
            {
                glVertex3f( f_hole_coord[ii][0], -f_hole_coord[ii][1], zpos );
                glVertex3f( fcoord[ii][0], -fcoord[ii][1], zpos );
                glVertex3f( f_hole_coord[ii].x, -f_hole_coord[ii].y, zpos );
                glVertex3f( fcoord[ii].x, -fcoord[ii].y, zpos );
            }

            glVertex3f( f_hole_coord[0][0], -f_hole_coord[0][1], zpos );
            glVertex3f( fcoord[0][0], -fcoord[0][1], zpos );
            glVertex3f( f_hole_coord[0].x, -f_hole_coord[0].y, zpos );
            glVertex3f( fcoord[0].x, -fcoord[0].y, zpos );
            glEnd();
        }
    }
+3 −3
Original line number Diff line number Diff line
@@ -87,11 +87,11 @@ void WinEDA3D_DrawFrame::ReCreateHToolbar()
                         _( "Move up ^" ) );

    m_HToolBar->AddTool( ID_MOVE3D_DOWN, wxEmptyString, wxBitmap( down_xpm ),
                         _( "Move down" ) );
                         _( "Move down v" ) );

    m_HToolBar->AddSeparator();
    m_HToolBar->AddTool( ID_ORTHO, wxEmptyString, wxBitmap( ortho_xpm ),
                         _( "Enable/Disable ortographic projection" ),
                         _( "Enable/Disable orthographic projection" ),
                         wxITEM_CHECK );

    m_HToolBar->Realize();
+5 −10
Original line number Diff line number Diff line
* Copyright (C) 1992-2009 Jean-Pierre Charras
* Copyright (C) 1992-2009 Kicad Developers Team
* Copyright (C) 1992-2010 Jean-Pierre Charras
* Copyright (C) 1992-2010 Kicad Developers Team
* 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>
IUT1 GEII2
Universite Joseph Fourier (U.J.F.)
Saint Martin d'Hres (38402)
Laboratiore GIPSA-Lab
Saint Martin d'Hres
Dick Hollenbeck <dick[at]softplc-dot-com>
Wayne Stambaugh <stambaughw[at]verizon-dot-net>

== Contributors
Dick Hollenbeck <dick[at]softplc-dot-com>
Hauptmech <hauptmech[at]gmail-dot-com>
Jerry Jacobs <xor.gate.engineering[at]gmail-dot-com>
Jonas Diemer <diemer[at]gmx-dot-de>
@@ -21,7 +17,6 @@ Marco Serantoni <marco.serantoni[at]gmail-dot-com> (OSX maintener)
Rok Markovic <rok[at]kanardia.eu>
Tim Hanson <sideskate[at]gmail-dot-com>
Vesa Solonen <vesa.solonen[at]hut-dot-fi>
Wayne Stambaugh <stambaughw[at]verizon-dot-net>

See also CHANGELOG.txt for contributors.

+15 −1
Original line number Diff line number Diff line
@@ -4,7 +4,21 @@ KiCad ChangeLog 2010
Please add newer entries at the top, list the date and your name with
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:
    remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of
Loading