Esempio n. 1
0
int Mesh::meshInit(double meshsize, long npart, int wlmtype, Vector box, std::vector<Particle >* pvec) {
    //  int i;
    int maxsize,length;

    dim[0] = (int)(box.x/meshsize);
    dim[1] = (int)(box.y/meshsize);
    if ( data != NULL ) free(data);
    if ( tmp != NULL ) free(tmp);
    length = dim[0] * dim[1];
    data = (int*) malloc( sizeof(int)* (length));
    tmp = (int*) malloc( sizeof(int)* (length+1));

    /* fill the mesh with particles*/
    meshFill(npart, wlmtype, pvec);
    /* perfrom hole cluster algorithm */
    maxsize = findHoles();

    /*DEBUG    printf("maxsize: %d\n",maxsize);
      printf("mesh:\n");
      for (i=0;i<mesh.dim[0]*mesh.dim[1];i++) {
      printf("%d ",mesh.data[i]);
      if ( ((i+1) % mesh.dim[0]) == 0) printf("\n");
      }*/
    return maxsize;
}
void Peg::mousePressEvent(QGraphicsSceneMouseEvent* event) {
	findHoles();
	m_board->setHighlight(m_holes, true);

	setZValue(3);
	setCursor(Qt::ClosedHandCursor);
	QGraphicsEllipseItem::mousePressEvent(event);
}
Esempio n. 3
0
void Mesh::print() {
    int i;

    printf("mesh:\n");
    for (i=0; i<dim[0] * dim[1]; i++) {
        printf("%d ",data[i]);
        if ( ((i+1) % dim[0]) == 0) printf("\n");
    }
    printf("hole %d:\n", findHoles() );
    printf("\n");
}