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))); | ||||
| 	} | ||||
|  | ||||
| 	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); | ||||
|   | ||||
| @@ -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; | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -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, ""); | ||||
| 		} | ||||
| 		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) { | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -3921,6 +3921,7 @@ void common_insertkey() | ||||
| 			allqueue(REDRAWACTION, 0); | ||||
| 			allqueue(REDRAWNLA, 0); | ||||
| 			allqueue(REDRAWBUTSOBJECT, 0); | ||||
| 			allqueue(REDRAWBUTSEDIT, 0); | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user