--- a/src/ldtypes.cc Tue Jan 07 08:26:15 2014 +0200 +++ b/src/ldtypes.cc Tue Jan 07 08:53:27 2014 +0200 @@ -1,11 +1,11 @@ /* * LDForge: LDraw parts authoring CAD - * Copyright (C) 2013, 2014 Santeri Piippo + * Copyright( C) 2013, 2014 Santeri Piippo * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * ( at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -25,9 +25,9 @@ #include "gldraw.h" #include "colors.h" -cfg (String, ld_defaultname, ""); -cfg (String, ld_defaultuser, ""); -cfg (Int, ld_defaultlicense, 0); +cfg( String, ld_defaultname, ""); +cfg( String, ld_defaultuser, ""); +cfg( Int, ld_defaultlicense, 0); // List of all LDObjects static QList<LDObject*> g_LDObjects; @@ -36,13 +36,14 @@ // LDObject constructors // ----------------------------------------------------------------------------- LDObject::LDObject() : - m_Hidden (false), - m_Selected (false), - m_Parent (null), - m_File (null), - m_GLInit (false), - qObjListEntry (null) -{ memset (m_coords, 0, sizeof m_coords); + m_Hidden( false), + m_Selected( false), + m_Parent( null), + m_File( null), + m_GLInit( false), + qObjListEntry( null) +{ + memset( m_coords, 0, sizeof m_coords); chooseID(); g_LDObjects << this; } @@ -50,16 +51,18 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDObject::chooseID() -{ int32 id = 1; // 0 shalt be null +{ + int32 id = 1; // 0 shalt be null - for (LDObject* obj : g_LDObjects) - { assert (obj != this); + for( LDObject* obj : g_LDObjects) + { + assert( obj != this); - if (obj->getID() >= id) + if( obj->getID() >= id) id = obj->getID() + 1; } - setID (id); + setID( id); } // ============================================================================= @@ -68,35 +71,42 @@ // These exist only to satisfy the linker. // ----------------------------------------------------------------------------- LDObject::Type LDObject::getType() const -{ return LDObject::Unidentified; +{ + return LDObject::Unidentified; } bool LDObject::hasMatrix() const -{ return false; +{ + return false; } bool LDObject::isColored() const -{ return false; +{ + return false; } bool LDObject::isScemantic() const -{ return false; +{ + return false; } str LDObject::getTypeName() const -{ return ""; +{ + return ""; } int LDObject::vertices() const -{ return 0; +{ + return 0; } // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::setVertexCoord (int i, Axis ax, double value) -{ vertex v = getVertex (i); +void LDObject::setVertexCoord( int i, Axis ax, double value) +{ + vertex v = getVertex( i); v[ax] = value; - setVertex (i, v); + setVertex( i, v); } LDError::LDError() {} @@ -104,13 +114,15 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDComment::raw() const -{ return fmt ("0 %1", text); +{ + return fmt( "0 %1", text); } // ============================================================================= // ----------------------------------------------------------------------------- str LDSubfile::raw() const -{ str val = fmt ("1 %1 %2 ", getColor(), getPosition()); +{ + str val = fmt( "1 %1 %2 ", getColor(), getPosition()); val += getTransform().stringRep(); val += ' '; val += getFileInfo()->getName(); @@ -120,10 +132,11 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDLine::raw() const -{ str val = fmt ("2 %1", getColor()); +{ + str val = fmt( "2 %1", getColor()); - for (int i = 0; i < 2; ++i) - val += fmt (" %1", getVertex (i)); + for( int i = 0; i < 2; ++i) + val += fmt( " %1", getVertex( i)); return val; } @@ -131,10 +144,11 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDTriangle::raw() const -{ str val = fmt ("3 %1", getColor()); +{ + str val = fmt( "3 %1", getColor()); - for (int i = 0; i < 3; ++i) - val += fmt (" %1", getVertex (i)); + for( int i = 0; i < 3; ++i) + val += fmt( " %1", getVertex( i)); return val; } @@ -142,10 +156,11 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDQuad::raw() const -{ str val = fmt ("4 %1", getColor()); +{ + str val = fmt( "4 %1", getColor()); - for (int i = 0; i < 4; ++i) - val += fmt (" %1", getVertex (i)); + for( int i = 0; i < 4; ++i) + val += fmt( " %1", getVertex( i)); return val; } @@ -153,11 +168,12 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDCondLine::raw() const -{ str val = fmt ("5 %1", getColor()); +{ + str val = fmt( "5 %1", getColor()); // Add the coordinates - for (int i = 0; i < 4; ++i) - val += fmt (" %1", getVertex (i)); + for( int i = 0; i < 4; ++i) + val += fmt( " %1", getVertex( i)); return val; } @@ -165,25 +181,29 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDError::raw() const -{ return contents; +{ + return contents; } // ============================================================================= // ----------------------------------------------------------------------------- str LDVertex::raw() const -{ return fmt ("0 !LDFORGE VERTEX %1 %2", getColor(), pos); +{ + return fmt( "0 !LDFORGE VERTEX %1 %2", getColor(), pos); } // ============================================================================= // ----------------------------------------------------------------------------- str LDEmpty::raw() const -{ return ""; +{ + return ""; } // ============================================================================= // ----------------------------------------------------------------------------- const char* LDBFC::statements[] = -{ "CERTIFY CCW", +{ + "CERTIFY CCW", "CCW", "CERTIFY CW", "CW", @@ -196,24 +216,26 @@ }; str LDBFC::raw() const -{ return fmt ("0 BFC %1", LDBFC::statements[type]); +{ + return fmt( "0 BFC %1", LDBFC::statements[type]); } // ============================================================================= // ----------------------------------------------------------------------------- QList<LDTriangle*> LDQuad::splitToTriangles() -{ // Create the two triangles based on this quadrilateral: +{ + // Create the two triangles based on this quadrilateral: // 0---3 0---3 3 // | | | / /| // | | ==> | / / | // | | |/ / | // 1---2 1 1---2 - LDTriangle* tri1 = new LDTriangle (getVertex (0), getVertex (1), getVertex (3)); - LDTriangle* tri2 = new LDTriangle (getVertex (1), getVertex (2), getVertex (3)); + LDTriangle* tri1 = new LDTriangle( getVertex( 0), getVertex( 1), getVertex( 3)); + LDTriangle* tri2 = new LDTriangle( getVertex( 1), getVertex( 2), getVertex( 3)); // The triangles also inherit the quad's color - tri1->setColor (getColor()); - tri2->setColor (getColor()); + tri1->setColor( getColor()); + tri2->setColor( getColor()); QList<LDTriangle*> triangles; triangles << tri1; @@ -223,12 +245,13 @@ // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::replace (LDObject* other) -{ long idx = getIndex(); - assert (idx != -1); +void LDObject::replace( LDObject* other) +{ + long idx = getIndex(); + assert( idx != -1); // Replace the instance of the old object with the new object - getFile()->setObject (idx, other); + getFile()->setObject( idx, other); // Remove the old object deleteSelf(); @@ -236,25 +259,28 @@ // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::swap (LDObject* other) -{ assert (getFile() == other->getFile()); - getFile()->swapObjects (this, other); +void LDObject::swap( LDObject* other) +{ + assert( getFile() == other->getFile()); + getFile()->swapObjects( this, other); } // ============================================================================= // ----------------------------------------------------------------------------- -LDLine::LDLine (vertex v1, vertex v2) -{ setVertex (0, v1); - setVertex (1, v2); +LDLine::LDLine( vertex v1, vertex v2) +{ + setVertex( 0, v1); + setVertex( 1, v2); } // ============================================================================= // ----------------------------------------------------------------------------- -LDQuad::LDQuad (const vertex& v0, const vertex& v1, const vertex& v2, const vertex& v3) -{ setVertex (0, v0); - setVertex (1, v1); - setVertex (2, v2); - setVertex (3, v3); +LDQuad::LDQuad( const vertex& v0, const vertex& v1, const vertex& v2, const vertex& v3) +{ + setVertex( 0, v0); + setVertex( 1, v1); + setVertex( 2, v2); + setVertex( 3, v3); } // ============================================================================= @@ -268,48 +294,53 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDObject::deleteSelf() -{ // If this object was selected, unselect it now - if (isSelected()) +{ + // If this object was selected, unselect it now + if( isSelected()) unselect(); // If this object was associated to a file, remove it off it now - if (getFile()) - getFile()->forgetObject (this); + if( getFile()) + getFile()->forgetObject( this); // Delete the GL lists - GL::deleteLists (this); + GL::deleteLists( this); // Remove this object from the list of LDObjects - g_LDObjects.removeOne (this); + g_LDObjects.removeOne( this); delete this; } // ============================================================================= // ----------------------------------------------------------------------------- -static void transformObject (LDObject* obj, matrix transform, vertex pos, int parentcolor) -{ switch (obj->getType()) - { case LDObject::Line: +static void transformObject( LDObject* obj, matrix transform, vertex pos, int parentcolor) +{ + switch( obj->getType()) + { + case LDObject::Line: case LDObject::CondLine: case LDObject::Triangle: case LDObject::Quad: - for (int i = 0; i < obj->vertices(); ++i) - { vertex v = obj->getVertex (i); - v.transform (transform, pos); - obj->setVertex (i, v); + for( int i = 0; i < obj->vertices(); ++i) + { + vertex v = obj->getVertex( i); + v.transform( transform, pos); + obj->setVertex( i, v); } break; case LDObject::Subfile: - { LDSubfile* ref = static_cast<LDSubfile*> (obj); + { + LDSubfile* ref = static_cast<LDSubfile*>( obj); matrix newMatrix = transform * ref->getTransform(); vertex newpos = ref->getPosition(); - newpos.transform (transform, pos); - ref->setPosition (newpos); - ref->setTransform (newMatrix); + newpos.transform( transform, pos); + ref->setPosition( newpos); + ref->setTransform( newMatrix); } break; @@ -317,20 +348,22 @@ break; } - if (obj->getColor() == maincolor) - obj->setColor (parentcolor); + if( obj->getColor() == maincolor) + obj->setColor( parentcolor); } // ============================================================================= // ----------------------------------------------------------------------------- -QList<LDObject*> LDSubfile::inlineContents (InlineFlags flags) -{ QList<LDObject*> objs = getFileInfo()->inlineContents (flags); +QList<LDObject*> LDSubfile::inlineContents( InlineFlags flags) +{ + QList<LDObject*> objs = getFileInfo()->inlineContents( flags); // Transform the objects - for (LDObject* obj : objs) - { // Set the parent now so we know what inlined the object. - obj->setParent (this); - transformObject (obj, getTransform(), getPosition(), getColor()); + for( LDObject* obj : objs) + { + // Set the parent now so we know what inlined the object. + obj->setParent( this); + transformObject( obj, getTransform(), getPosition(), getColor()); } return objs; @@ -339,10 +372,11 @@ // ============================================================================= // ----------------------------------------------------------------------------- long LDObject::getIndex() const -{ assert (getFile() != null); +{ + assert( getFile() != null); - for (int i = 0; i < getFile()->getObjectCount(); ++i) - if (getFile()->getObject (i) == this) + for( int i = 0; i < getFile()->getObjectCount(); ++i) + if( getFile()->getObject( i) == this) return i; return -1; @@ -350,49 +384,53 @@ // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::moveObjects (QList<LDObject*> objs, const bool up) -{ if (objs.isEmpty()) +void LDObject::moveObjects( QList<LDObject*> objs, const bool up) +{ + if( objs.isEmpty()) return; // If we move down, we need to iterate the array in reverse order. - const long start = up ? 0 : (objs.size() - 1); + const long start = up ? 0 :( objs.size() - 1); const long end = up ? objs.size() : -1; const long incr = up ? 1 : -1; QList<LDObject*> objsToCompile; LDDocument* file = objs[0]->getFile(); - for (long i = start; i != end; i += incr) - { LDObject* obj = objs[i]; + for( long i = start; i != end; i += incr) + { + LDObject* obj = objs[i]; const long idx = obj->getIndex(), - target = idx + (up ? -1 : 1); + target = idx +( up ? -1 : 1); - if ( (up && idx == 0) || (!up && idx == (long) (file->getObjects().size() - 1))) - { // One of the objects hit the extrema. If this happens, this should be the first + if( ( up && idx == 0) ||( !up && idx ==( long)( file->getObjects().size() - 1))) + { + // One of the objects hit the extrema. If this happens, this should be the first // object to be iterated on. Thus, nothing has changed yet and it's safe to just // abort the entire operation. - assert (i == start); + assert( i == start); return; } objsToCompile << obj; - objsToCompile << file->getObject (target); + objsToCompile << file->getObject( target); - obj->swap (file->getObject (target)); + obj->swap( file->getObject( target)); } - removeDuplicates (objsToCompile); + removeDuplicates( objsToCompile); // The objects need to be recompiled, otherwise their pick lists are left with // the wrong index colors which messes up selection. - for (LDObject* obj : objsToCompile) - g_win->R()->compileObject (obj); + for( LDObject* obj : objsToCompile) + g_win->R()->compileObject( obj); } // ============================================================================= // ----------------------------------------------------------------------------- -str LDObject::typeName (LDObject::Type type) -{ LDObject* obj = LDObject::getDefault (type); +str LDObject::typeName( LDObject::Type type) +{ + LDObject* obj = LDObject::getDefault( type); str name = obj->getTypeName(); obj->deleteSelf(); return name; @@ -400,34 +438,36 @@ // ============================================================================= // ----------------------------------------------------------------------------- -str LDObject::describeObjects (const QList<LDObject*>& objs) -{ bool firstDetails = true; +str LDObject::describeObjects( const QList<LDObject*>& objs) +{ + bool firstDetails = true; str text = ""; - if (objs.isEmpty()) + if( objs.isEmpty()) return "nothing"; // :) - for (long i = 0; i < LDObject::NumTypes; ++i) - { LDObject::Type objType = (LDObject::Type) i; + for( long i = 0; i < LDObject::NumTypes; ++i) + { + LDObject::Type objType =( LDObject::Type) i; int count = 0; - for (LDObject * obj : objs) - if (obj->getType() == objType) + for( LDObject * obj : objs) + if( obj->getType() == objType) count++; - if (count == 0) + if( count == 0) continue; - if (!firstDetails) + if( !firstDetails) text += ", "; - str noun = fmt ("%1%2", typeName (objType), plural (count)); + str noun = fmt( "%1%2", typeName( objType), plural( count)); // Plural of "vertex" is "vertices", correct that - if (objType == LDObject::Vertex && count != 1) + if( objType == LDObject::Vertex && count != 1) noun = "vertices"; - text += fmt ("%1 %2", count, noun); + text += fmt( "%1 %2", count, noun); firstDetails = false; } @@ -437,12 +477,13 @@ // ============================================================================= // ----------------------------------------------------------------------------- LDObject* LDObject::topLevelParent() -{ if (!getParent()) +{ + if( !getParent()) return this; LDObject* it = this; - while (it->getParent()) + while( it->getParent()) it = it->getParent(); return it; @@ -451,63 +492,70 @@ // ============================================================================= // ----------------------------------------------------------------------------- LDObject* LDObject::next() const -{ long idx = getIndex(); - assert (idx != -1); +{ + long idx = getIndex(); + assert( idx != -1); - if (idx == (long) getFile()->getObjectCount() - 1) + if( idx ==( long) getFile()->getObjectCount() - 1) return null; - return getFile()->getObject (idx + 1); + return getFile()->getObject( idx + 1); } // ============================================================================= // ----------------------------------------------------------------------------- LDObject* LDObject::prev() const -{ long idx = getIndex(); - assert (idx != -1); +{ + long idx = getIndex(); + assert( idx != -1); - if (idx == 0) + if( idx == 0) return null; - return getFile()->getObject (idx - 1); + return getFile()->getObject( idx - 1); } // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::move (vertex vect) -{ if (hasMatrix()) - { LDMatrixObject* mo = dynamic_cast<LDMatrixObject*> (this); - mo->setPosition (mo->getPosition() + vect); +void LDObject::move( vertex vect) +{ + if( hasMatrix()) + { + LDMatrixObject* mo = dynamic_cast<LDMatrixObject*>( this); + mo->setPosition( mo->getPosition() + vect); } - elif (getType() == LDObject::Vertex) - { // ugh - static_cast<LDVertex*> (this)->pos += vect; + elif( getType() == LDObject::Vertex) + { + // ugh + static_cast<LDVertex*>( this)->pos += vect; } else - { for (int i = 0; i < vertices(); ++i) - setVertex (i, getVertex (i) + vect); + { + for( int i = 0; i < vertices(); ++i) + setVertex( i, getVertex( i) + vect); } } // ============================================================================= // ----------------------------------------------------------------------------- #define CHECK_FOR_OBJ(N) \ - if (type == LDObject::N) \ + if( type == LDObject::N) \ return new LD##N; -LDObject* LDObject::getDefault (const LDObject::Type type) -{ CHECK_FOR_OBJ (Comment) - CHECK_FOR_OBJ (BFC) - CHECK_FOR_OBJ (Line) - CHECK_FOR_OBJ (CondLine) - CHECK_FOR_OBJ (Subfile) - CHECK_FOR_OBJ (Triangle) - CHECK_FOR_OBJ (Quad) - CHECK_FOR_OBJ (Empty) - CHECK_FOR_OBJ (BFC) - CHECK_FOR_OBJ (Error) - CHECK_FOR_OBJ (Vertex) - CHECK_FOR_OBJ (Overlay) +LDObject* LDObject::getDefault( const LDObject::Type type) +{ + CHECK_FOR_OBJ( Comment) + CHECK_FOR_OBJ( BFC) + CHECK_FOR_OBJ( Line) + CHECK_FOR_OBJ( CondLine) + CHECK_FOR_OBJ( Subfile) + CHECK_FOR_OBJ( Triangle) + CHECK_FOR_OBJ( Quad) + CHECK_FOR_OBJ( Empty) + CHECK_FOR_OBJ( BFC) + CHECK_FOR_OBJ( Error) + CHECK_FOR_OBJ( Vertex) + CHECK_FOR_OBJ( Overlay) return null; } @@ -522,11 +570,12 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDTriangle::invert() -{ // Triangle goes 0 -> 1 -> 2, reversed: 0 -> 2 -> 1. +{ + // Triangle goes 0 -> 1 -> 2, reversed: 0 -> 2 -> 1. // Thus, we swap 1 and 2. - vertex tmp = getVertex (1); - setVertex (1, getVertex (2)); - setVertex (2, tmp); + vertex tmp = getVertex( 1); + setVertex( 1, getVertex( 2)); + setVertex( 2, tmp); return; } @@ -534,18 +583,20 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDQuad::invert() -{ // Quad: 0 -> 1 -> 2 -> 3 +{ + // Quad: 0 -> 1 -> 2 -> 3 // rev: 0 -> 3 -> 2 -> 1 // Thus, we swap 1 and 3. - vertex tmp = getVertex (1); - setVertex (1, getVertex (3)); - setVertex (3, tmp); + vertex tmp = getVertex( 1); + setVertex( 1, getVertex( 3)); + setVertex( 3, tmp); } // ============================================================================= // ----------------------------------------------------------------------------- void LDSubfile::invert() -{ // Subfiles are inverted when they're prefixed with +{ + // Subfiles are inverted when they're prefixed with // a BFC INVERTNEXT statement. Thus we need to toggle this status. // For flat primitives it's sufficient that the determinant is // flipped but I don't have a method for checking flatness yet. @@ -553,37 +604,42 @@ int idx = getIndex(); - if (idx > 0) - { LDBFC* bfc = dynamic_cast<LDBFC*> (prev()); + if( idx > 0) + { + LDBFC* bfc = dynamic_cast<LDBFC*>( prev()); - if (bfc && bfc->type == LDBFC::InvertNext) - { // This is prefixed with an invertnext, thus remove it. + if( bfc && bfc->type == LDBFC::InvertNext) + { + // This is prefixed with an invertnext, thus remove it. bfc->deleteSelf(); return; } } // Not inverted, thus prefix it with a new invertnext. - LDBFC* bfc = new LDBFC (LDBFC::InvertNext); - getFile()->insertObj (idx, bfc); + LDBFC* bfc = new LDBFC( LDBFC::InvertNext); + getFile()->insertObj( idx, bfc); } // ============================================================================= // ----------------------------------------------------------------------------- -static void invertLine (LDObject* line) -{ // For lines, we swap the vertices. I don't think that a +static void invertLine( LDObject* line) +{ + // For lines, we swap the vertices. I don't think that a // cond-line's control points need to be swapped, do they? - vertex tmp = line->getVertex (0); - line->setVertex (0, line->getVertex (1)); - line->setVertex (1, tmp); + vertex tmp = line->getVertex( 0); + line->setVertex( 0, line->getVertex( 1)); + line->setVertex( 1, tmp); } void LDLine::invert() -{ invertLine (this); +{ + invertLine( this); } void LDCondLine::invert() -{ invertLine (this); +{ + invertLine( this); } void LDVertex::invert() {} @@ -591,22 +647,24 @@ // ============================================================================= // ----------------------------------------------------------------------------- LDLine* LDCondLine::demote() -{ LDLine* repl = new LDLine; +{ + LDLine* repl = new LDLine; - for (int i = 0; i < repl->vertices(); ++i) - repl->setVertex (i, getVertex (i)); + for( int i = 0; i < repl->vertices(); ++i) + repl->setVertex( i, getVertex( i)); - repl->setColor (getColor()); + repl->setColor( getColor()); - replace (repl); + replace( repl); return repl; } // ============================================================================= // ----------------------------------------------------------------------------- -LDObject* LDObject::fromID (int id) -{ for (LDObject* obj : g_LDObjects) - if (obj->getID() == id) +LDObject* LDObject::fromID( int id) +{ + for( LDObject* obj : g_LDObjects) + if( obj->getID() == id) return obj; return null; @@ -615,7 +673,8 @@ // ============================================================================= // ----------------------------------------------------------------------------- str LDOverlay::raw() const -{ return fmt ("0 !LDFORGE OVERLAY %1 %2 %3 %4 %5 %6", +{ + return fmt( "0 !LDFORGE OVERLAY %1 %2 %3 %4 %5 %6", getFileName(), getCamera(), getX(), getY(), getWidth(), getHeight()); } @@ -626,19 +685,21 @@ // It takes care of history management so we can capture low-level changes, this // makes history stuff work out of the box. // ----------------------------------------------------------------------------- -template<class T> static void changeProperty (LDObject* obj, T* ptr, const T& val) -{ long idx; +template<class T> static void changeProperty( LDObject* obj, T* ptr, const T& val) +{ + long idx; - if (*ptr == val) + if( *ptr == val) return; - if (obj->getFile() && (idx = obj->getIndex()) != -1) - { str before = obj->raw(); + if( obj->getFile() &&( idx = obj->getIndex()) != -1) + { + str before = obj->raw(); *ptr = val; str after = obj->raw(); - if (before != after) - obj->getFile()->addToHistory (new EditHistory (idx, before, after)); + if( before != after) + obj->getFile()->addToHistory( new EditHistory( idx, before, after)); } else *ptr = val; @@ -646,43 +707,50 @@ // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::setColor (const int& val) -{ changeProperty (this, &m_Color, val); +void LDObject::setColor( const int& val) +{ + changeProperty( this, &m_Color, val); } // ============================================================================= // ----------------------------------------------------------------------------- -const vertex& LDObject::getVertex (int i) const -{ return m_coords[i]->data(); +const vertex& LDObject::getVertex( int i) const +{ + return m_coords[i]->data(); } // ============================================================================= // ----------------------------------------------------------------------------- -void LDObject::setVertex (int i, const vertex& vert) -{ changeProperty (this, &m_coords[i], LDSharedVertex::getSharedVertex (vert)); +void LDObject::setVertex( int i, const vertex& vert) +{ + changeProperty( this, &m_coords[i], LDSharedVertex::getSharedVertex( vert)); } // ============================================================================= // ----------------------------------------------------------------------------- -void LDMatrixObject::setPosition (const vertex& a) -{ changeProperty (getLinkPointer(), &m_Position, LDSharedVertex::getSharedVertex (a)); +void LDMatrixObject::setPosition( const vertex& a) +{ + changeProperty( getLinkPointer(), &m_Position, LDSharedVertex::getSharedVertex( a)); } // ============================================================================= // ----------------------------------------------------------------------------- -void LDMatrixObject::setTransform (const matrix& val) -{ changeProperty (getLinkPointer(), &m_Transform, val); +void LDMatrixObject::setTransform( const matrix& val) +{ + changeProperty( getLinkPointer(), &m_Transform, val); } // ============================================================================= // ----------------------------------------------------------------------------- static QMap<vertex, LDSharedVertex*> g_sharedVerts; -LDSharedVertex* LDSharedVertex::getSharedVertex (const vertex& a) -{ auto it = g_sharedVerts.find (a); +LDSharedVertex* LDSharedVertex::getSharedVertex( const vertex& a) +{ + auto it = g_sharedVerts.find( a); - if (it == g_sharedVerts.end()) - { LDSharedVertex* v = new LDSharedVertex (a); + if( it == g_sharedVerts.end()) + { + LDSharedVertex* v = new LDSharedVertex( a); g_sharedVerts[a] = v; return v; } @@ -692,17 +760,20 @@ // ============================================================================= // ----------------------------------------------------------------------------- -void LDSharedVertex::addRef (LDObject* a) -{ m_refs << a; +void LDSharedVertex::addRef( LDObject* a) +{ + m_refs << a; } // ============================================================================= // ----------------------------------------------------------------------------- -void LDSharedVertex::delRef (LDObject* a) -{ m_refs.removeOne (a); +void LDSharedVertex::delRef( LDObject* a) +{ + m_refs.removeOne( a); - if (m_refs.empty()) - { g_sharedVerts.remove (m_data); + if( m_refs.empty()) + { + g_sharedVerts.remove( m_data); delete this; } } @@ -710,30 +781,36 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDObject::select() -{ if (!getFile()) - { log ("Warning: Object #%1 cannot be selected as it is not assigned a file!\n", getID()); +{ + if( !getFile()) + { + log( "Warning: Object #%1 cannot be selected as it is not assigned a file!\n", getID()); return; } - getFile()->addToSelection (this); + getFile()->addToSelection( this); } // ============================================================================= // ----------------------------------------------------------------------------- void LDObject::unselect() -{ if (!getFile()) - { log ("Warning: Object #%1 cannot be unselected as it is not assigned a file!\n", getID()); +{ + if( !getFile()) + { + log( "Warning: Object #%1 cannot be unselected as it is not assigned a file!\n", getID()); return; } - getFile()->removeFromSelection (this); + getFile()->removeFromSelection( this); } // ============================================================================= // ----------------------------------------------------------------------------- -str getLicenseText (int id) -{ switch (id) - { case 0: +str getLicenseText( int id) +{ + switch( id) + { + case 0: return CALicense; case 1: @@ -743,46 +820,51 @@ return ""; } - assert (false); + assert( false); return ""; } // ============================================================================= // ----------------------------------------------------------------------------- LDObject* LDObject::createCopy() const -{ /* +{ + /* LDObject* copy = clone(); - copy->setFile (null); - copy->setGLInit (false); + copy->setFile( null); + copy->setGLInit( false); copy->chooseID(); - copy->setSelected (false); + copy->setSelected( false); */ /* - LDObject* copy = getDefault (getType()); - copy->setColor (getColor()); + LDObject* copy = getDefault( getType()); + copy->setColor( getColor()); - if (hasMatrix()) - { LDMatrixObject* copyMo = static_cast<LDMatrixObject*> (copy); - const LDMatrixObject* mo = static_cast<const LDMatrixObject*> (this); - copyMo->setPosition (mo->getPosition()); - copyMo->setTransform (mo->getTransform()); + if( hasMatrix()) + { + LDMatrixObject* copyMo = static_cast<LDMatrixObject*>( copy); + const LDMatrixObject* mo = static_cast<const LDMatrixObject*>( this); + copyMo->setPosition( mo->getPosition()); + copyMo->setTransform( mo->getTransform()); } else - { for (int i = 0; i < vertices(); ++i) - copy->setVertex (getVertex (i)); + { + for( int i = 0; i < vertices(); ++i) + copy->setVertex( getVertex( i)); } - switch (getType()) - { case Subfile: - { LDSubfile* copyRef = static_cast<LDSubfile*> (copy); - const LDSubfile* ref = static_cast<const LDSubfile*> (this); + switch( getType()) + { + case Subfile: + { + LDSubfile* copyRef = static_cast<LDSubfile*>( copy); + const LDSubfile* ref = static_cast<const LDSubfile*>( this); - copyRef->setFileInfo (ref->getFileInfo()); + copyRef->setFileInfo( ref->getFileInfo()); } } */ - LDObject* copy = parseLine (raw()); + LDObject* copy = parseLine( raw()); return copy; } \ No newline at end of file