Commit aab39d1d authored by dickelbeck's avatar dickelbeck
Browse files

injected DLIST<> into many list heads, see change_log.txt

parent 67fa1ddb
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -70,8 +70,8 @@ void Struct3D_Master::Copy( Struct3D_Master* pattern )




/***************************************************************/
/***************************************************************/
Struct3D_Master::Struct3D_Master( EDA_BaseStruct* StructFather ) :
Struct3D_Master::Struct3D_Master( EDA_BaseStruct* aParent ) :
    EDA_BaseStruct( StructFather, NOT_USED )
    EDA_BaseStruct( aParent, NOT_USED )
/***************************************************************/
/***************************************************************/
{
{
    m_MatScale.x  = m_MatScale.y = m_MatScale.z = 1.0;
    m_MatScale.x  = m_MatScale.y = m_MatScale.z = 1.0;
@@ -102,8 +102,8 @@ Struct3D_Master:: ~Struct3D_Master()




/***************************************************************/
/***************************************************************/
Struct3D_Shape::Struct3D_Shape( EDA_BaseStruct* StructFather ) :
Struct3D_Shape::Struct3D_Shape( EDA_BaseStruct* aParent ) :
    EDA_BaseStruct( StructFather, NOT_USED )
    EDA_BaseStruct( aParent, NOT_USED )
/***************************************************************/
/***************************************************************/
{
{
    m_3D_Coord      = NULL;
    m_3D_Coord      = NULL;
+6 −6
Original line number Original line Diff line number Diff line
@@ -197,7 +197,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
    /* draw tracks and vias : */
    /* draw tracks and vias : */
    for( track = pcb->m_Track; track != NULL; track = track->Next() )
    for( track = pcb->m_Track; track != NULL; track = track->Next() )
    {
    {
        if( track->Type() == TYPEVIA )
        if( track->Type() == TYPE_VIA )
            Draw3D_Via( (SEGVIA*) track );
            Draw3D_Via( (SEGVIA*) track );
        else
        else
            Draw3D_Track( track );
            Draw3D_Track( track );
@@ -207,7 +207,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
    {
    {
        for( segzone = pcb->m_Zone; segzone != NULL; segzone = segzone->Next() )
        for( segzone = pcb->m_Zone; segzone != NULL; segzone = segzone->Next() )
        {
        {
            if( segzone->Type() == TYPEZONE )
            if( segzone->Type() == TYPE_ZONE )
                Draw3D_Track( segzone );
                Draw3D_Track( segzone );
        }
        }
    }
    }
@@ -218,11 +218,11 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
    {
    {
        switch( PtStruct->Type() )
        switch( PtStruct->Type() )
        {
        {
        case TYPEDRAWSEGMENT:
        case TYPE_DRAWSEGMENT:
            Draw3D_DrawSegment( (DRAWSEGMENT*) PtStruct );
            Draw3D_DrawSegment( (DRAWSEGMENT*) PtStruct );
            break;
            break;


        case TYPETEXTE:
        case TYPE_TEXTE:
            Draw3D_DrawText( (TEXTE_PCB*) PtStruct );
            Draw3D_DrawText( (TEXTE_PCB*) PtStruct );
            break;
            break;


@@ -513,10 +513,10 @@ void MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
        {
        {
            switch( Struct->Type() )
            switch( Struct->Type() )
            {
            {
            case TYPETEXTEMODULE:
            case TYPE_TEXTE_MODULE:
                break;
                break;


            case TYPEEDGEMODULE:
            case TYPE_EDGE_MODULE:
                ( (EDGE_MODULE*) Struct )->Draw3D( glcanvas );
                ( (EDGE_MODULE*) Struct )->Draw3D( glcanvas );
                break;
                break;


+2 −2
Original line number Original line Diff line number Diff line
@@ -70,7 +70,7 @@ public:


public:
public:


    Struct3D_Master( EDA_BaseStruct * StructFather );
    Struct3D_Master( EDA_BaseStruct * aParent );
    ~Struct3D_Master();
    ~Struct3D_Master();


    Struct3D_Master* Next() const { return (Struct3D_Master*) Pnext; }
    Struct3D_Master* Next() const { return (Struct3D_Master*) Pnext; }
@@ -105,7 +105,7 @@ public:


public:
public:


    Struct3D_Shape( EDA_BaseStruct * StructFather );
    Struct3D_Shape( EDA_BaseStruct * aParent );
    ~Struct3D_Shape();
    ~Struct3D_Shape();


    Struct3D_Shape* Next() const { return (Struct3D_Shape*) Pnext; }
    Struct3D_Shape* Next() const { return (Struct3D_Shape*) Pnext; }
+31 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,36 @@ Started 2007-June-11
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.



2008-Dec-3 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
++pcbnew & gerbview
  * added g_CurrentTrackList, and made g_CurrentTrackSegment and g_FirstTrackSegment
    be #defines into this DLIST<TRACK>, see pcbnew.h.
  * Switched datatype of BOARD::m_Track, BOARD::m_Zone, etc to DLIST<>.
    This simplifies BOARD::~BOARD() somewhat, and adds automatic counting of list elements and encapsulation
    of all list operations into DHEAD member functions, see common/dlist.cpp.
  * Removed TRACK::Insert() since it no long fits with the new BOARD::m_Track and BOARD::m_Zone datatypes.
  * Removed the g_UnDeleteStack support from <any>::UnLink(), this may leave a deficiency, but this code needs
    to be external to UnLink() anyway.
  * Made TRACK::SetNext() and TRACK::SetBack() private so they may not be used,
    the only way to put a TRACK on a list is through DLIST<TRACK>::PushFront()
    and other member functions of DLIST<TRACK>.
  * Switched to std::vector<TRACK*> in track.cpp to hold the temporary static list.
  * Made g_UnDeleteStack be a DLIST<TRACK>.
  * renamed some KICAD_T to more closely match the corresponding classname.
  * Changed to DLIST<> for almost all the list heads in BOARD.
++gerbview
  * switched to GR_COPY mode for drawing so we can see the erasures.  debugged
    erasures in rs274d.cpp.
  * Now using order specific TRACK loading, so erasures come after objects they
    are intended to erase.  Still need layer ordering and polygon ordering support, my todo.

    I do not like DeleteStructList() and plan to migrate away from it, DLIST<>:DeletAll()
    does something like it.


=======
2008-Dec-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2008-Dec-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
================================================================================
++pcbnew
++pcbnew
@@ -13,6 +43,7 @@ email address.
    results are same, but using segments can be better (faster redraw time) for polygons having a lot
    results are same, but using segments can be better (faster redraw time) for polygons having a lot
    of segments (more than 10000)
    of segments (more than 10000)


>>>>>>> .r1441
2008-Dec-02 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
2008-Dec-02 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
================================================================================
++build fixes
++build fixes
+2 −2
Original line number Original line Diff line number Diff line
@@ -156,8 +156,6 @@ void DHEAD::remove( EDA_BaseStruct* aElement )
    aElement->SetList( 0 );
    aElement->SetList( 0 );


    --count;
    --count;

    D( VerifyListIntegrity(); );
}
}


#if defined(DEBUG)
#if defined(DEBUG)
@@ -191,6 +189,8 @@ void DHEAD::VerifyListIntegrity()


    wxASSERT( item == NULL );
    wxASSERT( item == NULL );
    wxASSERT( i == count );
    wxASSERT( i == count );

    // printf("list %p has %d items.\n", this, count );
}
}


#endif
#endif
Loading