Orange request; get RVK (relative vertex keys) work for Curve objects.
Sir yes sir!
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user