void BufferCalibrationDlg::PrepZeroCalibration() { if ((m_state.get() == IDLE) || (m_state.get() == ZEROCALIBRATION_OK) \ || (m_state.get() == FSCALIBRATION_OK)) { if (PasswordDialog::getActivePassword() == PasswordEnum::NOPASSWORD) { PasswordDialog dlg(this, DevThr, PasswordEnum::FACTORYPASSWORD); if (dlg.exec() == QDialog::Rejected) { return; } } QByteArray BA(5, 0x00); BA[0] = CALIBRATION_CMD; BA[1] = CALIBRATION_DOWNLOAD_LEN; BA[2] = 0x02; //Line Calibration BA[3] = 0x05; //Zero Calibration BA[4] = 0x00; connect(&DevThr, &DeviceThread::response, this, &BufferCalibrationDlg::response); connect(&DevThr, &DeviceThread::timeout, this, &BufferCalibrationDlg::timeout); m_state.set(PREPZEROCALIBRATION); DevThr.request(1000, 16000, BA); ProgressDlg::start(); } }
float calcAngle(vector<float> & A, vector<float> & B, vector<float> & C) { vector<float> BA(3), BC(3); linear_combination(BA, 1, A, -1, B); linear_combination(BC, 1, C, -1, B); normalize_point(BA, BA); normalize_point(BC, BC); float dp = dot_product(BA,BC); if(dp > 1) dp = 1; else if(dp < -1) dp = -1; return RADIANS_TO_DEGREES( acos(dp) ); }
void BufferCalibrationDlg::ZeroCalibration() { if (m_state.get() == PREPZEROCALIBRATION_OK) { QByteArray BA(5, 0x00); BA[0] = CALIBRATION_CMD; BA[1] = CALIBRATION_DOWNLOAD_LEN; BA[2] = 0x03; int16_t ZeroValue = ZeroEdit->text().toDouble() * 100.0; BA[4] = ZeroValue >> 8; BA[3] = ZeroValue & 0xFF; connect(&DevThr, &DeviceThread::response, this, &BufferCalibrationDlg::response); connect(&DevThr, &DeviceThread::timeout, this, &BufferCalibrationDlg::timeout); m_state.set(ZEROCALIBRATION); DevThr.request(1000, 16000, BA); ProgressDlg::start(); }
/* CGAT * read and make tables * BA -> NA */ static void CGAT(){ FILE *IN=NULL, *IN_b=NULL, *IN_rev=NULL; int **table_value=NULL; unsigned short **table_num=NULL; int state_a2, state_b=0, state_rev; Fasta *fst1 = fasta_new(), *fst2 = fasta_new(), *fst_rev = fasta_new(); clock_t start, start1, end0, end1, end2; /*----- do BA and NA for each fasta-pair-----*/ /* genomeB file open */ IN_b = my_fopen_r(idata_b->seqname); par.OUT = my_fopen_w(par.outputfile); for(idata_b->cnt=0; idata_b->cnt < idata_b->fstnum; idata_b->cnt++){ start = clock(); /* MakeTable */ read_multifasta(IN_b, fst2, FORWARD, &state_b); table_value = (int **)my_malloc(idata_b->blocknum[idata_b->cnt] * sizeof(int *), "table_b_value"); table_num = (unsigned short **)my_malloc(idata_b->blocknum[idata_b->cnt] * sizeof(unsigned short *), "table_b_num"); Make_SeedTable(fst2, table_value, table_num); end0 = clock(); if(opt.debug) printf("MakeTable time: %.2f sec.\n", (double)(end0-start)/CLOCKS_PER_SEC); IN = my_fopen_r(idata_a->seqname); IN_rev = my_fopen_r(idata_a->seqname); state_a2=0; state_rev=0; for(idata_a->cnt=0; idata_a->cnt < idata_a->fstnum; idata_a->cnt++){ printf("\ngenomeA-fasta%d (%d blocks) - genomeB-fasta%d (%d blocks)\n", idata_a->cnt+1, idata_a->blocknum[idata_a->cnt], idata_b->cnt+1, idata_b->blocknum[idata_b->cnt]); start1 = clock(); /*--- BA: the results are stored in aln_for/rev ---*/ BA(&aln_for, table_value, table_num, FORWARD); if(reverse) BA(&aln_rev, table_value, table_num, REVERSE); if(idata_a->cnt == idata_a->fstnum -1) table_b_delete(table_value, table_num, idata_b->blocknum[idata_b->cnt]); end1 = clock(); if(opt.debug) printf("BA time: %.2f sec.\n", (double)(end1-start1)/CLOCKS_PER_SEC); /*--- (if -b is on) output BA result and skip NA ---*/ if(block){ output_BAresult(); continue; } /*--- NA: detailed alignmend within colonies in bl ---*/ NA(IN, fst1, fst2, &aln_for, FORWARD, &state_a2); if(reverse) NA(IN_rev, fst_rev, fst2, &aln_rev, REVERSE, &state_rev); end2 = clock(); if(opt.debug) printf("NA time: %.2f sec.\n", (double)(end2-end1)/CLOCKS_PER_SEC); } free(fst2->head); free(fst2->body); fclose(IN); fclose(IN_rev); } if(opt.boundary) output_fastaboundary(); free(fst1); free(fst2); free(fst_rev); fclose(IN_b); fclose(par.OUT); }
static void openTestWindow(uiBox *(*mkf)(void)) { uiWindow *w; uiBox *b; uiCombobox *c; uiEditableCombobox *e; uiRadioButtons *r; w = uiNewWindow("Test", 100, 100, 0); uiWindowOnClosing(w, winClose, NULL); uiWindowSetMargined(w, 1); b = (*mkf)(); uiWindowSetChild(w, uiControl(b)); #define BA(x) uiBoxAppend(b, uiControl(x), 0) BA(uiNewButton("")); BA(uiNewCheckbox("")); BA(uiNewEntry()); BA(uiNewLabel("")); BA(uiNewSpinbox(0, 100)); BA(uiNewProgressBar()); BA(uiNewSlider(0, 100)); BA(uiNewHorizontalSeparator()); c = uiNewCombobox(); uiComboboxAppend(c, ""); BA(c); e = uiNewEditableCombobox(); uiEditableComboboxAppend(e, ""); BA(e); r = uiNewRadioButtons(); uiRadioButtonsAppend(r, ""); BA(r); BA(uiNewDateTimePicker()); BA(uiNewDatePicker()); BA(uiNewTimePicker()); BA(uiNewMultilineEntry()); // TODO nonscrolling and scrolling areas? BA(uiNewFontButton()); BA(uiNewColorButton()); BA(uiNewPasswordEntry()); BA(uiNewSearchEntry()); uiControlShow(uiControl(w)); }
void TypeOfFE_RTmodif::FB(const bool * whatd,const Mesh & Th,const Triangle & K,const R2 & PHat,RNMK_ & val) const { // // const Triangle & K(FE.T); R2 P(K(PHat)); R2 A(K[0]), B(K[1]),C(K[2]); R la=1-PHat.x-PHat.y,lb=PHat.x,lc=PHat.y; R2 Dla(K.H(0)), Dlb(K.H(1)), Dlc(K.H(2)); if (val.N() <3) throwassert(val.N() >=3); throwassert(val.M()==2 ); R2 AB(A,B),AC(A,C),BA(B,A),BC(B,C),CA(C,A),CB(C,B); R aa0= 1./(((AB,Dlb) + (AC,Dlc))*K.area); R aa1= 1./(((BA,Dla) + (BC,Dlc))*K.area); R aa2= 1./(((CA,Dla) + (CB,Dlb))*K.area); int i=0; R a0= &K[ (i+1)%3] < &K[ (i+2)%3] ? aa0 : -aa0 ; i=1; R a1= &K[ (i+1)%3] < &K[ (i+2)%3] ? aa1 : -aa1 ; i=2; R a2= &K[ (i+1)%3] < &K[ (i+2)%3] ? aa2 : -aa2 ; // if (Th(K)< 2) cout << Th(K) << " " << A << " " << B << " " << C << "; " << a0 << " " << a1 << " "<< a2 << endl;; R2 Va= AB*(lb*a0) + AC*(lc*a0); R2 Vb= BA*(la*a1) + BC*(lc*a1); R2 Vc= CA*(la*a2) + CB*(lb*a2); R2 Va_x= AB*(Dlb.x*a0) + AC*(Dlc.x*a0); R2 Vb_x= BA*(Dla.x*a1) + BC*(Dlc.x*a1); R2 Vc_x= CA*(Dla.x*a2) + CB*(Dlb.x*a2); R2 Va_y= AB*(Dlb.y*a0) + AC*(Dlc.y*a0); R2 Vb_y= BA*(Dla.y*a1) + BC*(Dlc.y*a1); R2 Vc_y= CA*(Dla.y*a2) + CB*(Dlb.y*a2); if( whatd[op_id]) { RN_ f0(val('.',0,0)); RN_ f1(val('.',1,0)); f0[0] = Va.x; f1[0] = Va.y; f0[1] = Vb.x; f1[1] = Vb.y; f0[2] = Vc.x; f1[2] = Vc.y; } // ---------------- if( whatd[op_dx]) { val(0,0,1) = Va_x.x; val(0,1,1) = Va_x.y; val(1,0,1) = Vb_x.x; val(1,1,1) = Vb_x.y; val(2,0,1) = Vc_x.x; val(2,1,1) = Vc_x.y; } if( whatd[op_dy]) { val(0,0,2) = Va_y.x; val(0,1,2) = Va_y.y; val(1,0,2) = Vb_y.x; val(1,1,2) = Vb_y.y; val(2,0,2) = Vc_y.x; val(2,1,2) = Vc_y.y; } }