void RS_Arc::moveRef(const RS_Vector& ref, const RS_Vector& offset) { if (ref.distanceTo(startpoint)<1.0e-4) { moveStartpoint(startpoint+offset); } if (ref.distanceTo(endpoint)<1.0e-4) { moveEndpoint(endpoint+offset); } }
void RS_Line::moveRef(const RS_Vector& ref, const RS_Vector& offset) { if (ref.distanceTo(data.startpoint)<1.0e-4) { moveStartpoint(data.startpoint+offset); } if (ref.distanceTo(data.endpoint)<1.0e-4) { moveEndpoint(data.endpoint+offset); } }
void RS_Line::moveRef(const RS_Vector& ref, const RS_Vector& offset) { if( fabs(data.startpoint.x -ref.x)<1.0e-4 && fabs(data.startpoint.y -ref.y)<1.0e-4 ) { moveStartpoint(data.startpoint+offset); } if( fabs(data.endpoint.x -ref.x)<1.0e-4 && fabs(data.endpoint.y -ref.y)<1.0e-4 ) { moveEndpoint(data.endpoint+offset); } }
void RS_Ellipse::moveRef(const RS_Vector& ref, const RS_Vector& offset) { RS_Vector startpoint = getStartpoint(); RS_Vector endpoint = getEndpoint(); if (ref.distanceTo(startpoint)<1.0e-4) { moveStartpoint(startpoint+offset); } if (ref.distanceTo(endpoint)<1.0e-4) { moveEndpoint(endpoint+offset); } }
void RS_Ellipse::moveRef(const RS_Vector& ref, const RS_Vector& offset) { RS_Vector startpoint = getStartpoint(); RS_Vector endpoint = getEndpoint(); if (ref.distanceTo(startpoint)<1.0e-4) { moveStartpoint(startpoint+offset); } if (ref.distanceTo(endpoint)<1.0e-4) { moveEndpoint(endpoint+offset); } correctAngles();//avoid extra 2.*M_PI in angles }
/** * Stretches the given range of the entity by the given offset. */ void RS_Line::stretch(RS_Vector firstCorner, RS_Vector secondCorner, RS_Vector offset) { if (getStartpoint().isInWindow(firstCorner, secondCorner)) { moveStartpoint(getStartpoint() + offset); } if (getEndpoint().isInWindow(firstCorner, secondCorner)) { moveEndpoint(getEndpoint() + offset); } }
/** * Stretches the given range of the entity by the given offset. */ void RS_Line::stretch(const RS_Vector& firstCorner, const RS_Vector& secondCorner, const RS_Vector& offset) { RS_Vector vLow( std::min(firstCorner.x, secondCorner.x), std::min(firstCorner.y, secondCorner.y)); RS_Vector vHigh( std::max(firstCorner.x, secondCorner.x), std::max(firstCorner.y, secondCorner.y)); if (getStartpoint().isInWindowOrdered(vLow, vHigh)) { moveStartpoint(getStartpoint() + offset); } if (getEndpoint().isInWindowOrdered(vLow, vHigh)) { moveEndpoint(getEndpoint() + offset); } }
void RS_Arc::stretch(RS_Vector firstCorner, RS_Vector secondCorner, RS_Vector offset) { if (getMin().isInWindow(firstCorner, secondCorner) && getMax().isInWindow(firstCorner, secondCorner)) { move(offset); } else { if (getStartpoint().isInWindow(firstCorner, secondCorner)) { moveStartpoint(getStartpoint() + offset); } if (getEndpoint().isInWindow(firstCorner, secondCorner)) { moveEndpoint(getEndpoint() + offset); } } }