Orange request; get RVK (relative vertex keys) work for Curve objects.

Sir yes sir!
This commit is contained in:
2005-09-20 21:18:37 +00:00
parent 61c341a152
commit 10a790041b
5 changed files with 13 additions and 16 deletions

View File

@@ -831,11 +831,6 @@ void makeNurbfaces(Nurb *nu, float *data, int rowstride)
if (rowstride!=0) in = (float*) (((unsigned char*) in) + (rowstride - 3*nu->resolv*sizeof(*in)));
}
for (i=0; i<144*3; i++) {
// fprintf(stderr, "%f %f %f\n", nu->bp[i].vec[0], nu->bp[i].vec[1], nu->bp[i].vec[2]);
fprintf(stderr, "%f ", data[i]);
}
/* free */
MEM_freeN(sum);
MEM_freeN(basisu);

View File

@@ -641,8 +641,8 @@ static void do_rel_key(int start, int end, int tot, char *basispoin, Key *key, f
from= kb->data;
poin+= start*ofs[0];
reffrom+= elemsize*start;
from+= elemsize*start;
reffrom+= key->elemsize*start; // key elemsize yes!
from+= key->elemsize*start;
for(b=start; b<end; b++) {
@@ -678,6 +678,7 @@ static void do_rel_key(int start, int end, int tot, char *basispoin, Key *key, f
reffrom+= elemsize;
from+= elemsize;
if(mode==KEY_BEZTRIPLE) b+= 2;
}
}
}
@@ -1034,9 +1035,9 @@ static void do_rel_cu_key(Curve *cu, float ctime)
poin -= a*sizeof(BezTriple);
do_rel_key(a, a+step, tot, poin, cu->key, ctime, KEY_BEZTRIPLE);
}
a+= step;
nu=nu->next;
}
}

View File

@@ -2077,18 +2077,17 @@ static void editing_panel_curve_type(Object *ob, Curve *cu)
uiDefButBitS(block, TOG, CU_NOPUNOFLIP, REDRAWVIEW3D, "No Puno Flip", 600,140,150,19, &cu->flag, 0, 0, 0, 0, "Don't flip vertex normals while render");
uiBlockBeginAlign(block);
uiDefBut(block, BUT,B_DOCENTRE, "Centre", 600, 115, 150, 19, 0, 0, 0, 0, 0, "Shifts object data to be centered about object's origin");
uiDefBut(block, BUT,B_DOCENTRENEW, "Centre New", 600, 95, 150, 19, 0, 0, 0, 0, 0, "Shifts object's origin to center of object data");
uiDefBut(block, BUT,B_DOCENTRECURSOR, "Centre Cursor", 600, 75, 150, 19, 0, 0, 0, 0, 0, "Shifts object's origin to cursor location");
uiDefBut(block, BUT,B_DOCENTRE, "Centre", 600, 115, 55, 19, 0, 0, 0, 0, 0, "Shifts object data to be centered about object's origin");
uiDefBut(block, BUT,B_DOCENTRENEW, "Centre New", 655, 115, 95, 19, 0, 0, 0, 0, 0, "Shifts object's origin to center of object data");
uiDefBut(block, BUT,B_DOCENTRECURSOR, "Centre Cursor", 600, 95, 150, 19, 0, 0, 0, 0, 0, "Shifts object's origin to cursor location");
uiBlockEndAlign(block);
if(ob->type==OB_SURF) {
if(cu->key) {
/* uiDefButS(block, NUM, B_DIFF, "Slurph:", 600,25,140,19, &(cu->key->slurph), -500.0, 500.0,0,0); ,""*/
uiDefButS(block, TOG, B_RELKEY, "Relative Keys", 600,45,140,19, &cu->key->type, 0, 0, 0, 0, "");
}
if(cu->key) {
/* uiDefButS(block, NUM, B_DIFF, "Slurph:", 600,25,140,19, &(cu->key->slurph), -500.0, 500.0,0,0); ,""*/
uiDefButS(block, TOG, B_RELKEY, "Relative Keys", 600, 72,150,19, &cu->key->type, 0, 0, 0, 0, "");
}
if(ob->type!=OB_SURF) {
if(ob->type==OB_CURVE) {

View File

@@ -1282,6 +1282,7 @@ void do_object_panels(unsigned short event)
allspace(REMAKEIPO, 0);
allqueue(REDRAWBUTSOBJECT, 0);
allqueue(REDRAWIPO, 0);
DAG_object_flush_update(G.scene, OBACT, OB_RECALC_DATA);
break;
case B_CURVECHECK:
DAG_object_flush_update(G.scene, OBACT, OB_RECALC_DATA);

View File

@@ -3921,6 +3921,7 @@ void common_insertkey()
allqueue(REDRAWACTION, 0);
allqueue(REDRAWNLA, 0);
allqueue(REDRAWBUTSOBJECT, 0);
allqueue(REDRAWBUTSEDIT, 0);
return;
}