CurveWidget::CurveWidget( QWidget* parent ) : QWidget( parent ) { CurveWidgetLayout = new QHBoxLayout(this); CurveWidgetLayout->setMargin(5); CurveWidgetLayout->setSpacing(5); layout1 = new QVBoxLayout; layout1->setMargin(0); layout1->setSpacing(5); invertButton = new QPushButton( this ); invertButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); invertButton->setIcon( IconManager::instance()->loadIcon("invert.png") ); invertButton->setIconSize(QSize(22, 22)); layout1->addWidget( invertButton ); resetButton = new QPushButton( this ); resetButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); resetButton->setIcon( IconManager::instance()->loadIcon("reload.png") ); resetButton->setIconSize(QSize(22, 22)); layout1->addWidget( resetButton ); linearButton = new QPushButton( this ); QIcon ic; ic.addPixmap(IconManager::instance()->loadPixmap("curvebezier.png"), QIcon::Normal, QIcon::Off); ic.addPixmap(IconManager::instance()->loadPixmap("curvelinear.png"), QIcon::Normal, QIcon::On); linearButton->setIcon(ic); linearButton->setCheckable( true ); linearButton->setChecked(false); linearButton->setIconSize(QSize(22, 22)); linearButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); layout1->addWidget( linearButton ); spacer1 = new QSpacerItem( 2, 3, QSizePolicy::Minimum, QSizePolicy::Expanding ); layout1->addItem( spacer1 ); loadButton = new QPushButton( this ); loadButton->setIcon( IconManager::instance()->loadIcon("22/document-open.png") ); loadButton->setIconSize(QSize(22, 22)); loadButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); layout1->addWidget( loadButton ); saveButton = new QPushButton( this ); saveButton->setIcon( IconManager::instance()->loadIcon("22/document-save-as.png") ); saveButton->setIconSize(QSize(22, 22)); saveButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); layout1->addWidget( saveButton ); CurveWidgetLayout->addLayout( layout1 ); cDisplay = new KCurve(this); cDisplay->setMinimumSize( QSize( 150, 150 ) ); CurveWidgetLayout->addWidget( cDisplay ); languageChange(); connect(invertButton, SIGNAL(clicked()), this, SLOT(doInvert())); connect(resetButton, SIGNAL(clicked()), this, SLOT(doReset())); connect(linearButton, SIGNAL(clicked()), this, SLOT(doLinear())); connect(loadButton, SIGNAL(clicked()), this, SLOT(doLoad())); connect(saveButton, SIGNAL(clicked()), this, SLOT(doSave())); }
//--------------------------------------- bool Matrix3::invert( Matrix3& _m ) { Real det = _m.determinate(); if( realCompare( det, 0.0 ) ) { return false; } doInvert( _m, _m, det ); return true; }
//--------------------------------------- Matrix3 Matrix3::inverse() const { Real det = determinate(); if( realCompare( det, 0.0 ) ) { return cIdentity; } Matrix3 ret; doInvert( *this, ret, det ); return ret; }