--- a/src/ldtypes.cpp Fri Dec 13 00:31:16 2013 +0200 +++ b/src/ldtypes.cpp Fri Dec 13 00:39:49 2013 +0200 @@ -473,59 +473,18 @@ // ============================================================================= // ----------------------------------------------------------------------------- void LDObject::move (vertex vect) -{ (void) vect; -} -void LDEmpty::move (vertex vect) -{ (void) vect; -} -void LDBFC::move (vertex vect) -{ (void) vect; -} -void LDComment::move (vertex vect) -{ (void) vect; -} -void LDError::move (vertex vect) -{ (void) vect; -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDVertex::move (vertex vect) -{ pos += vect; -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDSubfile::move (vertex vect) -{ setPosition (getPosition() + vect); -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDLine::move (vertex vect) -{ for (int i = 0; i < 2; ++i) - setVertex (i, getVertex (i) + vect); -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDTriangle::move (vertex vect) -{ for (int i = 0; i < 3; ++i) - setVertex (i, getVertex (i) + vect); -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDQuad::move (vertex vect) -{ for (int i = 0; i < 4; ++i) - setVertex (i, getVertex (i) + vect); -} - -// ============================================================================= -// ----------------------------------------------------------------------------- -void LDCondLine::move (vertex vect) -{ for (int i = 0; i < 4; ++i) - setVertex (i, getVertex (i) + 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; + } + else + { for (int i = 0; i < vertices(); ++i) + setVertex (i, getVertex (i) + vect); + } } // ============================================================================= @@ -659,10 +618,6 @@ getFileName(), getCamera(), getX(), getY(), getWidth(), getHeight()); } -void LDOverlay::move (vertex vect) -{ Q_UNUSED (vect) -} - void LDOverlay::invert() {} // =============================================================================