void quaterN::displacementOnline(const quater& sq1, const quater& sq22, const quater& aq2, const quater& aq3, int duration) { ///////////////////////////////// // sq123 // ____ src motion // ++++ add motion // aq123 // - guess position and velocity of srcMotion of this frame // **** make displacementmap // //////////////////////// quater sq2(sq22); quater sq3; quater sv; quater av; sv.difference(sq1, sq2); av.difference(aq2, aq3); // guess position sq3.mult(sv, sq2); quater aq1; // av*aq1=aq2; aq1.mult(av.inverse(), aq2); quater displacement1, displacement2; sq2.align(aq1); sq3.align(aq2); displacement1.difference(aq1, sq2); displacement2.difference(aq2, sq3); hermite(displacement1, displacement2, duration-1, quater(1,0,0,0), quater(1,0,0,0)); }
int main() { Square sq1(3,4,5,6); Point p1(2,3), p2(8, 9); Square sq2(p1, p2); }
int main(int argc, char **argv){ Operand o1(6); Operand o2(8); Operand o3(4); Operand o4(5); Operand o5(3); Mult m(&o1,&o2); Add a(&m,&o3); Add a2(&o2,&o3); Sqr sq(&a2); Div div(&m,&o3); Add a3(&div,&o4); Sqr sq2(&o5); Sub sub(&a3,&sq2); std::cout<<a.evaluate()<<std::endl; std::cout<<sq.evaluate()<<std::endl; std::cout<<sub.evaluate()<<std::endl<<std::endl; InsertSort iSort; Lcontainer lcon(&iSort); lcon.add_element(&o1); lcon.add_element(&sub); lcon.add_element(&div); lcon.add_element(&sq2); lcon.add_element(&m); std::cout<<lcon.at(0)->evaluate()<<std::endl; std::cout<<lcon.at(1)->evaluate()<<std::endl<<std::endl; lcon.print(); std::cout<<std::endl; lcon.swap(0,1); lcon.print(); std::cout<<std::endl; std::cout<<"Sorting list with ascending insertion sort"<<std::endl; lcon.sort(); lcon.print(); std::cout<<std::endl; std::cout<<"Sorting list with descending bubble sort"<<std::endl; BubbleSort bSort; lcon.set_sort_function(&bSort); lcon.sort(); lcon.print(); std::cout<<std::endl; Vcontainer vcon(&iSort); vcon.add_element(&a2); vcon.add_element(&sq2); vcon.add_element(&m); vcon.add_element(&div); vcon.add_element(&a3); vcon.add_element(&a); std::cout<<"Sorting vector with ascending insertion sort"<<std::endl; vcon.sort(); vcon.print(); std::cout<<std::endl; std::cout<<"Sorting vector with descending bubble sort"<<std::endl; vcon.set_sort_function(&bSort); vcon.sort(); vcon.print(); std::cout<<std::endl; }
void setupLayout() { QVBoxLayout *layout = new QVBoxLayout(this); QKeySequence sq1(Qt::AltModifier + Qt::ShiftModifier + Qt::Key_G); QPushButton *b1 = new QPushButton(sq1.toString()); b1->setShortcut(sq1); QKeySequence sq2(Qt::AltModifier + Qt::Key_G); QPushButton *b2 = new QPushButton(sq2.toString()); b2->setShortcut(sq2); QKeySequence sq3(Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_R); QPushButton *b3 = new QPushButton(sq3.toString()); b3->setShortcut(sq3); QKeySequence sq4(Qt::ControlModifier + Qt::Key_R); QPushButton *b4 = new QPushButton(sq4.toString()); b4->setShortcut(sq4); QKeySequence sq5(Qt::ControlModifier + Qt::Key_Return); QPushButton *b5 = new QPushButton(sq5.toString()); b5->setShortcut(sq5); QKeySequence sq6(Qt::ControlModifier + Qt::ShiftModifier + Qt::AltModifier + Qt::Key_R); QPushButton *b6 = new QPushButton(sq6.toString()); b6->setShortcut(sq6); QKeySequence sq7(Qt::ShiftModifier + Qt::Key_5); QPushButton *b7 = new QPushButton(sq7.toString()); b7->setShortcut(sq7); QKeySequence sq8(Qt::ControlModifier + Qt::Key_Q); QPushButton *b8 = new QPushButton(sq8.toString()); b8->setShortcut(sq8); QKeySequence sq9(Qt::ControlModifier + Qt::Key_Plus); QPushButton *b9 = new QPushButton(sq9.toString()); b9->setShortcut(sq9); QKeySequence sq10(Qt::ControlModifier + Qt::Key_Y); QPushButton *b10 = new QPushButton(sq10.toString()); b10->setShortcut(sq10); QKeySequence sq11(Qt::ShiftModifier + Qt::Key_Comma); QPushButton *b11 = new QPushButton(sq11.toString()); b11->setShortcut(sq11); // LATIN SMALL LETTER O WITH STROKE QKeySequence sq12(QString(QChar(ushort(0xf8)))); QPushButton *b12 = new QPushButton(sq12.toString()); b12->setShortcut(sq12); // CYRILLIC SMALL LETTER ZHE QKeySequence sq13(QString(QChar(ushort(0x436)))); QPushButton *b13 = new QPushButton(sq13.toString()); b13->setShortcut(sq13); QLabel *testPurpose = new QLabel(); testPurpose->setWordWrap(true); testPurpose->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding); testPurpose->setText("This test come in handy to verify shortcuts under different" " keyboard layouts - qwerty, dvorak, non-latin (russian, arabic), etc."); layout->addWidget(testPurpose); layout->addWidget(b1); layout->addWidget(b2); layout->addWidget(b3); layout->addWidget(b4); layout->addWidget(b5); layout->addWidget(b6); layout->addWidget(b7); layout->addWidget(b8); layout->addWidget(b9); layout->addWidget(b10); layout->addWidget(b11); layout->addWidget(new QLabel("Norwegian layout")); layout->addWidget(b12); layout->addWidget(new QLabel("Russian layout")); layout->addWidget(b13); setLayout(layout); }