Implemented rotation and reflection

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@536 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-07-09 22:38:34 +00:00
parent c7d31ddb4a
commit 1c04a718ac
11 changed files with 122 additions and 52 deletions
+6 -9
View File
@@ -62,13 +62,12 @@ void SymbolPartMoveAction::movePart(SymbolPart& part) {
}
} else if (SymbolSymmetry* s = part.isSymbolSymmetry()) {
s->center -= moved;
} else if (SymbolGroup* g = part.isSymbolGroup()) {
}
if (SymbolGroup* g = part.isSymbolGroup()) {
FOR_EACH(p, g->parts) {
movePart(*p);
}
g->calculateBoundsNonRec();
} else {
throw InternalError(_("Invalid symbol part type"));
}
}
@@ -108,13 +107,12 @@ void SymbolPartMatrixAction::transform(SymbolPart& part, const Matrix2D& m) {
} else if (SymbolSymmetry* s = part.isSymbolSymmetry()) {
s->center = (s->center - center) * m + center;
s->handle = s->handle * m;
} else if (SymbolGroup* g = part.isSymbolGroup()) {
}
if (SymbolGroup* g = part.isSymbolGroup()) {
FOR_EACH(p, g->parts) {
transform(*p, m);
}
g->calculateBoundsNonRec();
} else {
throw InternalError(_("Invalid symbol part type"));
}
}
@@ -284,13 +282,12 @@ void SymbolPartScaleAction::transformPart(SymbolPart& part) {
} else if (SymbolSymmetry* s = part.isSymbolSymmetry()) {
transform(s->center);
s->handle.mul(new_size.div(old_size));
} else if (SymbolGroup* g = part.isSymbolGroup()) {
}
if (SymbolGroup* g = part.isSymbolGroup()) {
FOR_EACH(p, g->parts) {
transformPart(*p);
}
g->calculateBoundsNonRec();
} else {
throw InternalError(_("Invalid symbol part type"));
}
}