void setZeroes(vector<vector<int> > &matrix) {
		int row = matrix.size();
		if(row == 0)
		  return;

		int col = matrix[0].size();
		bool first = false;
		for(int i = 0; i < col; i++){
			if(matrix[0][i] == 0){
				first = true;
				break;
			}
		}

		for(int i = 1; i < row; i++){
			bool zero = false;
			for(int j = 0; j < col; j++){
				if(matrix[i][j] == 0){
					zero = true;
					matrix[0][j] = 0;
				}
			}
			if(zero)
			  setRow(matrix, i, col);
		}

		for(int i = 0; i < col; i++){
			if(matrix[0][i] == 0)
			  setColumn(matrix, i, row);
		}

		if(first)
		  setRow(matrix, 0, col);
	}
Matrix4x4::Matrix4x4(float mat[16])
{
	setRow(mat[0 * 4 + 0], mat[0 * 4 + 1], mat[0 * 4 + 2], mat[0 * 4 + 3], 0);
	setRow(mat[1 * 4 + 0], mat[1 * 4 + 1], mat[1 * 4 + 2], mat[1 * 4 + 3], 1);
	setRow(mat[2 * 4 + 0], mat[2 * 4 + 1], mat[2 * 4 + 2], mat[2 * 4 + 3], 2);
	setRow(mat[3 * 4 + 0], mat[3 * 4 + 1], mat[3 * 4 + 2], mat[3 * 4 + 3], 3);
}
void Matrix::swapRows(unsigned int index1, unsigned int index2)
{
    if(index1 == index2) return;
    Matrix temp = getRow(index1);
    setRow(index1, getRow(index2));
    setRow(index2, temp);
    return;
}
Example #4
0
Mtx44& Mtx44::identity()
{
    setRow(0, 1, 0, 0, 0);
    setRow(1, 0, 1, 0, 0);
    setRow(2, 0, 0, 1, 0);
    setRow(3, 0, 0, 0, 1);
    return *this;
}
Example #5
0
Matrix2f::Matrix2f( const Vector2f& v0, const Vector2f& v1, bool setColumns )
{
    if( setColumns )
    {
        setCol( 0, v0 );
        setCol( 1, v1 );
    }
    else
    {
        setRow( 0, v0 );
        setRow( 1, v1 );
    }
}
Example #6
0
void Mtx44::ortho(
    float left, float right,
    float bottom, float top,
    float near, float far)
{
    float tx = right - left;
    float ty = top - bottom;
    float tz = far - near;
    setRow(0, 2.f / tx, 0, 0, 0);
    setRow(1, 0, 2.f / ty, 0, 0);
    setRow(2, 0, 0, -2.f / tz, 0);
    setRow(3, -(right + left) / tx, -(top + bottom) / ty, -(far + near) / tz, 1);
}
Example #7
0
// Perform inverse on full 4x4 matrix.  Used in special cases only, so not at all optimized.
bool MatrixF::fullInverse()
{
   Point4F a,b,c,d;
   getRow(0,&a);
   getRow(1,&b);
   getRow(2,&c);
   getRow(3,&d);

   // det = a0*b1*c2*d3 - a0*b1*c3*d2 - a0*c1*b2*d3 + a0*c1*b3*d2 + a0*d1*b2*c3 - a0*d1*b3*c2 -
   //       b0*a1*c2*d3 + b0*a1*c3*d2 + b0*c1*a2*d3 - b0*c1*a3*d2 - b0*d1*a2*c3 + b0*d1*a3*c2 +
   //       c0*a1*b2*d3 - c0*a1*b3*d2 - c0*b1*a2*d3 + c0*b1*a3*d2 + c0*d1*a2*b3 - c0*d1*a3*b2 -
   //       d0*a1*b2*c3 + d0*a1*b3*c2 + d0*b1*a2*c3 - d0*b1*a3*c2 - d0*c1*a2*b3 + d0*c1*a3*b2
   F32 det = a.x*b.y*c.z*d.w - a.x*b.y*c.w*d.z - a.x*c.y*b.z*d.w + a.x*c.y*b.w*d.z + a.x*d.y*b.z*c.w - a.x*d.y*b.w*c.z
           - b.x*a.y*c.z*d.w + b.x*a.y*c.w*d.z + b.x*c.y*a.z*d.w - b.x*c.y*a.w*d.z - b.x*d.y*a.z*c.w + b.x*d.y*a.w*c.z
           + c.x*a.y*b.z*d.w - c.x*a.y*b.w*d.z - c.x*b.y*a.z*d.w + c.x*b.y*a.w*d.z + c.x*d.y*a.z*b.w - c.x*d.y*a.w*b.z
           - d.x*a.y*b.z*c.w + d.x*a.y*b.w*c.z + d.x*b.y*a.z*c.w - d.x*b.y*a.w*c.z - d.x*c.y*a.z*b.w + d.x*c.y*a.w*b.z;

   if (mFabs(det)<0.00001f)
      return false;

   Point4F aa,bb,cc,dd;
   aa.x =  b.y*c.z*d.w - b.y*c.w*d.z - c.y*b.z*d.w + c.y*b.w*d.z + d.y*b.z*c.w - d.y*b.w*c.z;
   aa.y = -a.y*c.z*d.w + a.y*c.w*d.z + c.y*a.z*d.w - c.y*a.w*d.z - d.y*a.z*c.w + d.y*a.w*c.z;
   aa.z =  a.y*b.z*d.w - a.y*b.w*d.z - b.y*a.z*d.w + b.y*a.w*d.z + d.y*a.z*b.w - d.y*a.w*b.z;
   aa.w = -a.y*b.z*c.w + a.y*b.w*c.z + b.y*a.z*c.w - b.y*a.w*c.z - c.y*a.z*b.w + c.y*a.w*b.z;

   bb.x = -b.x*c.z*d.w + b.x*c.w*d.z + c.x*b.z*d.w - c.x*b.w*d.z - d.x*b.z*c.w + d.x*b.w*c.z;
   bb.y =  a.x*c.z*d.w - a.x*c.w*d.z - c.x*a.z*d.w + c.x*a.w*d.z + d.x*a.z*c.w - d.x*a.w*c.z;
   bb.z = -a.x*b.z*d.w + a.x*b.w*d.z + b.x*a.z*d.w - b.x*a.w*d.z - d.x*a.z*b.w + d.x*a.w*b.z;
   bb.w =  a.x*b.z*c.w - a.x*b.w*c.z - b.x*a.z*c.w + b.x*a.w*c.z + c.x*a.z*b.w - c.x*a.w*b.z;

   cc.x =  b.x*c.y*d.w - b.x*c.w*d.y - c.x*b.y*d.w + c.x*b.w*d.y + d.x*b.y*c.w - d.x*b.w*c.y;
   cc.y = -a.x*c.y*d.w + a.x*c.w*d.y + c.x*a.y*d.w - c.x*a.w*d.y - d.x*a.y*c.w + d.x*a.w*c.y;
   cc.z =  a.x*b.y*d.w - a.x*b.w*d.y - b.x*a.y*d.w + b.x*a.w*d.y + d.x*a.y*b.w - d.x*a.w*b.y;
   cc.w = -a.x*b.y*c.w + a.x*b.w*c.y + b.x*a.y*c.w - b.x*a.w*c.y - c.x*a.y*b.w + c.x*a.w*b.y;

   dd.x = -b.x*c.y*d.z + b.x*c.z*d.y + c.x*b.y*d.z - c.x*b.z*d.y - d.x*b.y*c.z + d.x*b.z*c.y;
   dd.y =  a.x*c.y*d.z - a.x*c.z*d.y - c.x*a.y*d.z + c.x*a.z*d.y + d.x*a.y*c.z - d.x*a.z*c.y;
   dd.z = -a.x*b.y*d.z + a.x*b.z*d.y + b.x*a.y*d.z - b.x*a.z*d.y - d.x*a.y*b.z + d.x*a.z*b.y;
   dd.w =  a.x*b.y*c.z - a.x*b.z*c.y - b.x*a.y*c.z + b.x*a.z*c.y + c.x*a.y*b.z - c.x*a.z*b.y;

   setRow(0,aa);
   setRow(1,bb);
   setRow(2,cc);
   setRow(3,dd);

   mul(1.0f/det);

   return true;
}
Example #8
0
void Mtx44::frustum(
    float left, float right,
    float bottom, float top,
    float near, float far)
{
    if (near == 0) printf("frustum can't near = 0\n");
    float w = right - left;
    float h = top - bottom;
    float d = far - near;
    setRow(0, (2 * near) / w, 0, 0, 0);
    setRow(1, 0, (2 * near) / h, 0, 0);
    setRow(2, (right + left) / w, (top + bottom) / h,  -(far + near) / d, -1);
    setRow(3, 0, 0,  -(2 * far * near) / d, 0);
}
Example #9
0
Matrix3f::Matrix3f( const Vector3f& v0, const Vector3f& v1, const Vector3f& v2, bool setColumns )
{
	if( setColumns )
	{
		setCol( 0, v0 );
		setCol( 1, v1 );
		setCol( 2, v2 );
	}
	else
	{
		setRow( 0, v0 );
		setRow( 1, v1 );
		setRow( 2, v2 );
	}
}
void GameScene::addEndLine()
{
	auto b = Block::createBlocks(winSize, Color3B::GREEN, "Congratulations", 30, Color3B::WHITE);
	b->setPosition(0, winSize.height);
	b->setRow(4);
	gameLayer->addChild(b);
}
void parseWhereFrom(QueryData &results, const std::string &path) {

  CFStringRef CFPath = CFStringCreateWithCString(
      kCFAllocatorDefault, path.c_str(), kCFStringEncodingUTF8);

  MDItemRef metadata = MDItemCreate(kCFAllocatorDefault, CFPath);
  CFRelease(CFPath);

  if (metadata == nullptr) {
    VLOG(1) << "Metadata for " << path << " is null";
    return;
  }

  CFTypeRef attributes;
  attributes = MDItemCopyAttribute(metadata, kMDItemWhereFroms);
  CFRelease(metadata);

  if (attributes == nullptr) {
    VLOG(1) << "No attributes found for " << path;
    return;
  }

  CFArrayRef attribs = (CFArrayRef)attributes;
  CFIndex count = CFArrayGetCount(attribs);

  for (CFIndex i = 0; i < count; i++) {
    CFStringRef attribute = (CFStringRef)CFArrayGetValueAtIndex(attribs, i);
    auto where_from_attribute = stringFromCFString(attribute);
    if (!where_from_attribute.empty()) {
      setRow(results, path, "where_from", where_from_attribute);
    }
  }

  CFRelease(attributes);
}
Example #12
0
RtlRow::RtlRow(const RtlRecord & _info, const void * optRow, unsigned numOffsets, size_t * _variableOffsets) : info(_info), variableOffsets(_variableOffsets)
{
    assertex(numOffsets == info.getNumVarFields()+1);
    //variableOffset[0] is used for all fixed offset fields to avoid any special casing.
    variableOffsets[0] = 0;
    setRow(optRow);
}
Example #13
0
void Grid::extendUp()
{
    int r,c,i;
    for ( r = 1; r < nrows; r++ ) {
	for ( c = 0; c < ncols; c++ ) {
	    QWidget* w = cell( r, c );
	    if ( !w )
		continue;
	    int cr = countRow( r, c);
	    int stretch = 0;
	    for ( i = r-1; i >= 0; i-- ) {
		if ( cell( i, c ) )
		    break;
		if ( countRow( i, c ) < cr )
		    break;
		if ( isWidgetEndRow( i ) )
		    break;
		if ( isWidgetStartRow( i ) ) {
		    stretch = r - i;
		    break;
		}
	    }
	    if ( stretch ) {
		for ( i = 0; i < stretch; i++ )
		    setRow( r-i-1, c, w, cr );
	    }
	}
    }
}
Example #14
0
void Mtx44::lookat(const Vec3& eye, const Vec3& target, const Vec3& up)
{
    /*
      [note] z軸はカメラ位置から視線方向へのベクトル。
       x軸はz軸と上方向に垂直なので両者の外積。
       y軸はz軸とx軸に垂直なので両者の外積。
       平行移動成分は各軸に対してカメラ位置に合うように移動。
    */
    Vec3 zaxis = (eye - target).getNormalized();
    Vec3 xaxis = up.getCrossed(zaxis).getNormalized();
    Vec3 yaxis = zaxis.getCrossed(xaxis);
    setRow(0, xaxis.x, yaxis.x, zaxis.x, 0);
    setRow(1, xaxis.y, yaxis.y, zaxis.y, 0);
    setRow(2, xaxis.z, yaxis.z, zaxis.z, 0);
    setRow(3, -xaxis.dot(eye), -yaxis.dot(eye), -zaxis.dot(eye), 1);
}
void IconImpl::read(Reader &input)
{
  setIcon(input.read<int>());
  setCol(input.read<int>());
  setRow(input.read<int>());
  setNr(input.read<int>());
}
Example #16
0
void FavoriteEditor::on_down_button_clicked() {
    int row = table->currentRow();
    qDebug("FavoriteEditor::on_down_button_clicked: current_row: %d", row);

    if ((row+1) >= table->rowCount()) return;

    // take whole rows
    QList<QTableWidgetItem*> source_items = takeRow(row);
    QList<QTableWidgetItem*> dest_items = takeRow(row+1);

    // set back in reverse order
    setRow(row, dest_items);
    setRow(row+1, source_items);

    table->setCurrentCell(row+1, table->currentColumn());
}
Example #17
0
void Grid::extendDown()
{
    int r,c,i;
    for ( r = nrows - 2; r >= 0; r-- ) {
	for ( c = 0; c < ncols; c++ ) {
	    QWidget* w = cell( r, c );
	    if ( !w )
		continue;
	    int cr = countRow( r, c);
	    int stretch = 0;
	    for ( i = r+1; i < nrows; i++ ) {
		if ( cell( i, c ) )
		    break;
		if ( countRow( i, c ) < cr )
		    break;
		if ( isWidgetStartRow( i ) )
		    break;
		if ( isWidgetEndRow( i ) ) {
		    stretch = i - r;
		    break;
		}
	    }
	    if ( stretch ) {
		for ( i = 0; i < stretch; i++ )
		    setRow( r+i+1, c, w, cr );
	    }
	}
    }

}
Example #18
0
//------------------------------------------------------------------------------
void TController::LoadInformation()
{
	DataManager->LoadData();
	setRow(DataManager->returnTable());
	DisplayManager->ShowKHR(vKHRList);
	DisplayManager->showExecutors(vKHRList);
}
Example #19
0
void QgsVectorLayerProperties::loadRows()
{
  QObject::disconnect( tblAttributes, SIGNAL( cellChanged( int, int ) ), this, SLOT( on_tblAttributes_cellChanged( int, int ) ) );
  const QgsFieldMap &fields = layer->pendingFields();

  tblAttributes->clear();

  tblAttributes->setColumnCount( attrColCount );
  tblAttributes->setRowCount( fields.size() );
  tblAttributes->setHorizontalHeaderItem( attrIdCol, new QTableWidgetItem( tr( "Id" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrNameCol, new QTableWidgetItem( tr( "Name" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrTypeCol, new QTableWidgetItem( tr( "Type" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrLengthCol, new QTableWidgetItem( tr( "Length" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrPrecCol, new QTableWidgetItem( tr( "Precision" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrCommentCol, new QTableWidgetItem( tr( "Comment" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrEditTypeCol, new QTableWidgetItem( tr( "Edit widget" ) ) );
  tblAttributes->setHorizontalHeaderItem( attrAliasCol, new QTableWidgetItem( tr( "Alias" ) ) );

  tblAttributes->horizontalHeader()->setResizeMode( 1, QHeaderView::Stretch );
  tblAttributes->horizontalHeader()->setResizeMode( 7, QHeaderView::Stretch );
  tblAttributes->setSelectionBehavior( QAbstractItemView::SelectRows );
  tblAttributes->setSelectionMode( QAbstractItemView::ExtendedSelection );
  tblAttributes->verticalHeader()->hide();

  int row = 0;
  for ( QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); it++, row++ )
    setRow( row, it.key(), it.value() );

  tblAttributes->resizeColumnsToContents();
  QObject::connect( tblAttributes, SIGNAL( cellChanged( int, int ) ), this, SLOT( on_tblAttributes_cellChanged( int, int ) ) );
}
void QgsVectorLayerProperties::loadRows()
{
  const QgsFieldMap &fields = layer->pendingFields();

  tblAttributes->clear();

  tblAttributes->setColumnCount( 8 );
  tblAttributes->setRowCount( fields.size() );
  tblAttributes->setHorizontalHeaderItem( 0, new QTableWidgetItem( tr( "id" ) ) );
  tblAttributes->setHorizontalHeaderItem( 1, new QTableWidgetItem( tr( "name" ) ) );
  tblAttributes->setHorizontalHeaderItem( 2, new QTableWidgetItem( tr( "type" ) ) );
  tblAttributes->setHorizontalHeaderItem( 3, new QTableWidgetItem( tr( "length" ) ) );
  tblAttributes->setHorizontalHeaderItem( 4, new QTableWidgetItem( tr( "precision" ) ) );
  tblAttributes->setHorizontalHeaderItem( 5, new QTableWidgetItem( tr( "comment" ) ) );
  tblAttributes->setHorizontalHeaderItem( 6, new QTableWidgetItem( tr( "edit widget" ) ) );
  tblAttributes->setHorizontalHeaderItem( 7, new QTableWidgetItem( tr( "values" ) ) );

  tblAttributes->setSelectionBehavior( QAbstractItemView::SelectRows );
  tblAttributes->setSelectionMode( QAbstractItemView::MultiSelection );

  int row = 0;
  for ( QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); it++, row++ )
    setRow( row, it.key(), it.value() );

  tblAttributes->resizeColumnsToContents();
}
Example #21
0
void FoW::set(int x0, int y0, int radius, FogStatus value) {
    /* FIXME: split this method into two and don't update the neighbours of
     * internal tiles */
    if (radius == 0) {
        int x = x0, y = y0;
        if (!contains(x, y) || status[y][x] == value)
            return;

        status[y][x] = value;

        if (value == REVEALED)
            setTile(x, y, NONE);
        else
            updateTile(x, y);

        updateNeighbours(x, y);
    }
    else {
        int f = 1 - radius;
        int ddF_x = 1;
        int ddF_y = -2 * radius;
        int x = 0;
        int y = radius;

        set(x0, y0 - radius, 0, value);
        set(x0, y0 + radius, 0, value);
        setRow(x0 - radius, x0 + radius, y0, value);

        while (x < y) {
            // ddF_x == 2 * x + 1;
            // ddF_y == -2 * y;
            // f == x*x + y*y - radius*radius + 2*x - y + 1;
            if (f >= 0) {
                y--;
                ddF_y += 2;
                f += ddF_y;
            }
            x++;
            ddF_x += 2;
            f += ddF_x;
            setRow(x0 - x, x0 + x, y0 + y, value);
            setRow(x0 - x, x0 + x, y0 - y, value);
            setRow(x0 - y, x0 + y, y0 + x, value);
            setRow(x0 - y, x0 + y, y0 - x, value);
        }
    }
}
Example #22
0
void QgsVectorLayerProperties::attributeAdded( int idx )
{
  const QgsFieldMap &fields = layer->pendingFields();
  int row = tblAttributes->rowCount();
  tblAttributes->insertRow( row );
  setRow( row, idx, fields[idx] );
  tblAttributes->setCurrentCell( row, idx );
}
Example #23
0
FontRowTable::FontRowTable( QWidget* parent, const char* name ) :
    QFrame(parent,name)
{
    setBackgroundMode(PaletteBase);
    setFrameStyle(Panel|Sunken);
    setMargin(8);
    setRow(0);
}
Matrix4f::Matrix4f( const Vector4f& v0, const Vector4f& v1, const Vector4f& v2, const Vector4f& v3, bool setColumns )
{
	if( setColumns )
	{
		setCol( 0, v0 );
		setCol( 1, v1 );
		setCol( 2, v2 );
		setCol( 3, v3 );
	}
	else
	{
		setRow( 0, v0 );
		setRow( 1, v1 );
		setRow( 2, v2 );
		setRow( 3, v3 );
	}
}
IconImpl::IconImpl(int icon,int col,int row,int nr)
{
  setDefaults();
  setIcon(icon);
  setCol(col);
  setRow(row);
  setNr(nr);
}
Example #26
0
caDoubleTabWidget::caDoubleTabWidget(QWidget *parent) : QWidget(parent)

{
    row = 0;
    col = 0;
    vCount = 0;
    tableIndex = new QLineEdit("empty");

    // create horizontal bar, vertical buttongroup and a stacked widget
    hTabBar = new QTabBar;
    viewPort = new QStackedWidget;
    viewPort->setFrameShape(QFrame::Panel);

    vTabBar = new QButtonGroup;
    buttonLayout = new QVBoxLayout();
    buttonLayout->setSpacing(0);

    QVBoxLayout* buttonStretchLayout = new QVBoxLayout();
    buttonStretchLayout->setSpacing(0);
    buttonStretchLayout->addLayout(buttonLayout);
    buttonStretchLayout->addStretch();

    // make layout and add the widgets
    QGridLayout *gridLayout = new QGridLayout(this);
    gridLayout->addWidget(hTabBar, 0, 1, 1, 1);
    gridLayout->addLayout(buttonStretchLayout, 1, 0, 1, 1);
    gridLayout->addWidget(viewPort, 1, 1, 1, 1);
    gridLayout->addWidget(tableIndex, 2, 1, 1, 1);

    hTabBar->setShape(QTabBar::TriangularNorth);
    hTabBar->setExpanding(true);

    // size policy
    viewPort->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    hTabBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);

    // signal /slots
    connect(hTabBar, SIGNAL(currentChanged(int)), SLOT(setCol(int)));
    connect(vTabBar,  SIGNAL(buttonClicked(int)), this, SLOT(setRow(int)));

    // add items to our bar and list
    thisVerItems.clear();
    thisHorItems.clear();
    addSampleWidget(0);
    addSampleWidget(1);
    addPages = false;

    // colorize horizontal bar
    QPalette pal = hTabBar->palette();
    pal.setColor(QPalette::Base, QColor(255, 0, 255));
    hTabBar->setPalette(pal);

    setRow(0);
    setCol(0);

    installEventFilter(this);
}
Example #27
0
void QgsValueMapConfigDlg::setConfig( const QVariantMap &config )
{
  tableWidget->clearContents();
  for ( int i = tableWidget->rowCount() - 1; i > 0; i-- )
  {
    tableWidget->removeRow( i );
  }

  int row = 0;
  QVariantMap values = config.value( QStringLiteral( "map" ) ).toMap();
  for ( QVariantMap::ConstIterator mit = values.constBegin(); mit != values.constEnd(); mit++, row++ )
  {
    if ( mit.value().isNull() )
      setRow( row, mit.key(), QString() );
    else
      setRow( row, mit.value().toString(), mit.key() );
  }
}
CvMat* triangulate(const CvMat* P1, const CvMat* P2, const CvPoint2D32f& x1, const CvPoint2D32f& x2) {
	
	CvMat* A = cvCreateMat(4, 4, CV_64FC1);
	
	CvMat* p1t = getRow(P1, 0);
	CvMat* p2t = getRow(P1, 1);
	CvMat* p3t = getRow(P1, 2);
	CvMat* xp3t = scale(p3t, x1.x);
	CvMat* a1 = sub(xp3t, p1t);
	CvMat* yp3t = scale(p3t, x1.y);
	CvMat* a2 = sub(yp3t, p2t);

	CvMat* p1t2 = getRow(P2, 0);
	CvMat* p2t2 = getRow(P2, 1);
	CvMat* p3t2 = getRow(P2, 2);
	CvMat* xp3t2 = scale(p3t2, x2.x);
	CvMat* a3 = sub(xp3t2, p1t2);
	CvMat* yp3t2 = scale(p3t2, x2.y);
	CvMat* a4 = sub(yp3t2, p2t2);

	setRow(A, a1, 0);
	setRow(A, a2, 1);
	setRow(A, a3, 2);
	setRow(A, a4, 3);
	
	cvReleaseMat(&p1t);
	cvReleaseMat(&p2t);
	cvReleaseMat(&p3t);
	cvReleaseMat(&xp3t);
	cvReleaseMat(&yp3t);

	cvReleaseMat(&p1t2);
	cvReleaseMat(&p2t2);
	cvReleaseMat(&p3t2);
	cvReleaseMat(&xp3t2);
	cvReleaseMat(&yp3t2);

	cvReleaseMat(&a1);
	cvReleaseMat(&a2);
	cvReleaseMat(&a3);
	cvReleaseMat(&a4);

	return null(A);
}
Example #29
0
//alternative constructor that determines team based on an int
Developer::Developer (int rowIn, int colIn, int colorIn)
{
	if (colorIn == 0)
		player = GREEN;
	if (colorIn == 1)
		player = YELLOW;
	setRow (rowIn);
    setCol (colIn);
	pieceType = 6;
}
void QgsGlobePluginDialog::moveRow( QTableWidget* widget, bool up )
{
  //moves QTableWidget row up or down
  if ( widget->selectedItems().count() > 0 )
  {
    const int sourceRow = widget->currentItem()->row();
    const int destRow = ( up ? sourceRow - 1 : sourceRow + 1 );
    if ( destRow >= 0 && destRow < widget->rowCount() )
    {
      // take whole rows
      QList<QTableWidgetItem*> sourceItems = takeRow( widget, sourceRow );
      QList<QTableWidgetItem*> destItems = takeRow( widget, destRow );

      // set back in reverse order
      setRow( widget, sourceRow, destItems );
      setRow( widget, destRow, sourceItems );
      widget->selectRow( destRow );
    }
  }
}