コード例 #1
0
ファイル: rs_mtext.cpp プロジェクト: Cantar4/LibreCAD
void RS_MText::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    RS_EntityContainer::rotate(center, angleVector);
    data.insertionPoint.rotate(center, angleVector);
    data.angle = RS_Math::correctAngle(data.angle+angle);
//    update();
}
コード例 #2
0
ファイル: rs_image.cpp プロジェクト: PlastecProfiles/LibreCAD
void RS_Image::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    data.insertionPoint.rotate(center, angleVector);
    data.uVector.rotate(angleVector);
    data.vVector.rotate(angleVector);
    calculateBorders();
}
コード例 #3
0
ファイル: rs_solid.cpp プロジェクト: JGabriel85/LibreCAD
//rotation
void RS_Solid::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    for (int i=0; i<4; ++i) {
        data.corner[i].rotate(center, angleVector);
    }
    calculateBorders();
}
コード例 #4
0
/**
 * Rotates all vectors around the given center by the given angle.
 */
void RS_VectorSolutions::rotate(const RS_Vector& center, const double& ang) {
    RS_Vector angleVector(ang);
    for (int i=0; i<vector.size(); i++) {
        if (vector[i].valid) {
            vector[i].rotate(center,angleVector);
        }
    }
}
コード例 #5
0
ファイル: rs_vector.cpp プロジェクト: Cantar4/LibreCAD
/**
 * Rotates all vectors around (0,0) by the given angle.
 */
void RS_VectorSolutions::rotate(double ang) {
    RS_Vector angleVector(ang);
	for (auto& vp: vector) {
		if (vp.valid) {
			vp.rotate(angleVector);
		}
	}
}
コード例 #6
0
void RS_DimLinear::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    RS_Dimension::rotate(center, angleVector);

    edata.extensionPoint1.rotate(center, angleVector);
    edata.extensionPoint2.rotate(center, angleVector);
    edata.angle = RS_Math::correctAngle(edata.angle+angle);
    update();
}
コード例 #7
0
void RS_EntityContainer::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);

	for(auto e: entities){
        e->rotate(center, angleVector);
    }
    if (autoUpdateBorders) {
        calculateBorders();
    }
}
コード例 #8
0
ファイル: rs_dimension.cpp プロジェクト: TNick2/LibreCAD
void RS_Dimension::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    data.definitionPoint.rotate(center, angleVector);
    data.middleOfText.rotate(center, angleVector);
    data.angle = RS_Math::correctAngle(data.angle+angle);
}
コード例 #9
0
void RS_ConstructionLine::rotate(const RS_Vector& center, const double& angle) {
    RS_Vector angleVector(angle);
    data.point1.rotate(center, angleVector);
    data.point2.rotate(center, angleVector);
    //calculateBorders();
}