void print_index_block(FILE *list, struct fcb *f, struct ix_block *b) {int i,lc,load; unsigned char t[maxkey_lc]; fprintf(list," keys=%d",b->keys_in_block); lc = b->chars_in_use + (b->keys_in_block * sizeof(UINT16)); load = (lc*100) / (keyspace_lc); fprintf(list,", chars=%d(%d) %d%% loaded",b->chars_in_use,lc,load); fprintf(list,", level=%d",b->level); fprintf(list,", ix_type="); print_index_type(list,b->index_type); fprintf(list,", prefix_lc=%d",b->prefix_lc); if ( b->prefix_lc>0 ) { fprintf(list,", prefix="); mvc(b->keys,keyspace_lc-b->prefix_lc,t,0,b->prefix_lc); print_text_or_binary(list,t,b->prefix_lc); /* for (i=0; i<b->prefix_lc; i++) if ( b->index_type==user_ix ) fprintf(list,"%c",t[i]); else fprintf(list,"%2x ",t[i]);*/ fprintf(list,"\n"); } print_leveln_pntr(list," next=",&(b->next)); print_leveln_pntr(list," prev=",&(b->prev)); fprintf(list,"\n"); if ( b->keys_in_block<50 ) { for (i=0; i<b->keys_in_block; i++) print_ix_block_entry(list,f,b,i); } else { for (i=0; i<20; i++) print_ix_block_entry(list,f,b,i); fprintf(list," ...\n"); for (i=b->keys_in_block-20; i<b->keys_in_block; i++) print_ix_block_entry(list,f,b,i); } }
MStatus YarnCurve::addCV(float cvX, float cvY, float cvZ) { MPoint cv(cvX, 0.0, cvZ); // create new set of MVC weights for CV MVCWeights weights; MVC mvc(cageVertices); mvc.computeMVCWeights(weights, cv); // add CV to curve CVweights.push_back(weights); CVoffsets.push_back(cvY); // return success return MStatus::kSuccess; }