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 Original line Diff line number Diff line
@@ -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
 */
 */
@@ -538,6 +566,8 @@ void Pcb3D_GLCanvas::InitGL()


    // Setup light souces:
    // Setup light souces:
    SetLights();
    SetLights();

    CheckGLError();
}
}




+22 −39
Original line number Original line Diff line number Diff line
@@ -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,
@@ -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;
}
}


@@ -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;
@@ -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 )
@@ -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++ )
@@ -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();
        }
        }
    }
    }
+3 −3
Original line number Original line Diff line number Diff line
@@ -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();
+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>
@@ -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.


+15 −1
Original line number Original line 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
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