Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2005-03-09 19:58:42 +0300
committerTon Roosendaal <ton@blender.org>2005-03-09 19:58:42 +0300
commit3e5200f1db01ccf9a5f0d6b90513413314d002d5 (patch)
tree5a95aa519c8c7a9f0142d189f3595213c970a13d /source/blender
parent7968cf078e849d62324b8ce06dbf3b06cb52abf9 (diff)
- Restored 'align mode', which allows rotate/scale with only object centers
- commented out debug prints from theeth :)
Diffstat (limited to 'source/blender')
-rwxr-xr-xsource/blender/src/transform.c48
1 files changed, 25 insertions, 23 deletions
diff --git a/source/blender/src/transform.c b/source/blender/src/transform.c
index fb74b90764b..d9c9affb92b 100755
--- a/source/blender/src/transform.c
+++ b/source/blender/src/transform.c
@@ -1443,10 +1443,10 @@ void Transform(int mode)
BIF_undo_push("Transform");
}
- printf("before postrans\n");
+// printf("before postrans\n");
/* free data, reset vars */
postTrans(&Trans);
- printf("after postrans\n");
+// printf("after postrans\n");
/* mess from old transform, just for now (ton) */
{
@@ -1751,26 +1751,28 @@ int Resize(TransInfo *t, short mval[2])
Mat3ToSize(tmat, fsize);
}
- /* handle ipokeys? */
- if(td->tdi) {
- TransDataIpokey *tdi= td->tdi;
- /* calculate delta size (equal for size and dsize) */
-
- // commented out for now
- vec[0]= (tdi->oldsize[0])*(fsize[0] -1.0f) * td->factor;
- vec[1]= (tdi->oldsize[1])*(fsize[1] -1.0f) * td->factor;
- vec[2]= (tdi->oldsize[2])*(fsize[2] -1.0f) * td->factor;
-
- add_tdi_poin(tdi->sizex, tdi->oldsize, vec[0]);
- add_tdi_poin(tdi->sizey, tdi->oldsize+1, vec[1]);
- add_tdi_poin(tdi->sizez, tdi->oldsize+2, vec[2]);
-
- }
- else {
- // TEMPORARY NAIVE CODE
- td->ext->size[0] = td->ext->isize[0] + td->ext->isize[0] * (fsize[0] - 1.0f) * td->factor;
- td->ext->size[1] = td->ext->isize[1] + td->ext->isize[1] * (fsize[1] - 1.0f) * td->factor;
- td->ext->size[2] = td->ext->isize[2] + td->ext->isize[2] * (fsize[2] - 1.0f) * td->factor;
+ if ((G.vd->flag & V3D_ALIGN)==0) { // align mode doesn't rotate objects itself
+ /* handle ipokeys? */
+ if(td->tdi) {
+ TransDataIpokey *tdi= td->tdi;
+ /* calculate delta size (equal for size and dsize) */
+
+ // commented out for now
+ vec[0]= (tdi->oldsize[0])*(fsize[0] -1.0f) * td->factor;
+ vec[1]= (tdi->oldsize[1])*(fsize[1] -1.0f) * td->factor;
+ vec[2]= (tdi->oldsize[2])*(fsize[2] -1.0f) * td->factor;
+
+ add_tdi_poin(tdi->sizex, tdi->oldsize, vec[0]);
+ add_tdi_poin(tdi->sizey, tdi->oldsize+1, vec[1]);
+ add_tdi_poin(tdi->sizez, tdi->oldsize+2, vec[2]);
+
+ }
+ else {
+ // TEMPORARY NAIVE CODE
+ td->ext->size[0] = td->ext->isize[0] + td->ext->isize[0] * (fsize[0] - 1.0f) * td->factor;
+ td->ext->size[1] = td->ext->isize[1] + td->ext->isize[1] * (fsize[1] - 1.0f) * td->factor;
+ td->ext->size[2] = td->ext->isize[2] + td->ext->isize[2] * (fsize[2] - 1.0f) * td->factor;
+ }
}
}
VecSubf(vec, td->center, t->center);
@@ -2022,7 +2024,7 @@ int Rotation(TransInfo *t, short mval[2])
QuatMul(td->ext->quat, quat, td->ext->iquat);
}
- else {
+ else if ((G.vd->flag & V3D_ALIGN)==0) { // align mode doesn't rotate objects itself
float obmat[3][3];
/* are there ipo keys? */