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))); 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 */ /* free */
MEM_freeN(sum); MEM_freeN(sum);
MEM_freeN(basisu); 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; from= kb->data;
poin+= start*ofs[0]; poin+= start*ofs[0];
reffrom+= elemsize*start; reffrom+= key->elemsize*start; // key elemsize yes!
from+= elemsize*start; from+= key->elemsize*start;
for(b=start; b<end; b++) { 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; reffrom+= elemsize;
from+= 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); poin -= a*sizeof(BezTriple);
do_rel_key(a, a+step, tot, poin, cu->key, ctime, KEY_BEZTRIPLE); do_rel_key(a, a+step, tot, poin, cu->key, ctime, KEY_BEZTRIPLE);
} }
a+= step; a+= step;
nu=nu->next; 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"); 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); 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_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", 600, 95, 150, 19, 0, 0, 0, 0, 0, "Shifts object's origin to center of object data"); 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, 75, 150, 19, 0, 0, 0, 0, 0, "Shifts object's origin to cursor location"); 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); uiBlockEndAlign(block);
if(ob->type==OB_SURF) { if(cu->key) {
if(cu->key) { /* uiDefButS(block, NUM, B_DIFF, "Slurph:", 600,25,140,19, &(cu->key->slurph), -500.0, 500.0,0,0); ,""*/
/* 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, "");
uiDefButS(block, TOG, B_RELKEY, "Relative Keys", 600,45,140,19, &cu->key->type, 0, 0, 0, 0, "");
}
} }
if(ob->type!=OB_SURF) { if(ob->type!=OB_SURF) {
if(ob->type==OB_CURVE) { if(ob->type==OB_CURVE) {

View File

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

View File

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