Example #1
0
//------------------------------------------------------------------------------
// setMaxElevations() -- sets the maximum number of elevation requests accepted by the visual
//------------------------------------------------------------------------------
bool Otw::setMaxElevations(const unsigned int n)
{
    if (n <= MAX_MODELS) maxElevations = n;
    else maxElevations = MAX_MODELS;
    resetTables();
    return true;
}
Example #2
0
//------------------------------------------------------------------------------
// deleteData() -- delete member data
//------------------------------------------------------------------------------
void Otw::deleteData()
{
   setOwnship(0);
   setPlayerList(0);
   resetTables();
   clearOtwModelTypes();
}
Example #3
0
bool GenomeComparison::loadComparison(QByteArray inData)
{
    QDataStream in(&inData,QIODevice::ReadOnly);

    //---- Get setup variable states
    in>>autoComparison;

    //---- Reset All Tables
    resetTables();

    //---- Get Manual Comparison Table Genome List
    in>>compareList;
    if (!compareList.empty()) {
        renderCompareTable();
    }
    //---- Get Main Comparison Table Genome List
    in>>genomeList;
    if (!genomeList.empty()) {
        renderGenomesTable();
    }

    //---- Update Button States
    buttonUpdate();

    return true;
}
Example #4
0
void GenomeComparison::buttonActions()
{
    connect(ui->compareButton, SIGNAL(pressed()), this, SLOT(compareGenomes()));
    connect(ui->autoButton, SIGNAL(toggled(bool)), this, SLOT(setAuto(bool)));
    connect(ui->resetButton, SIGNAL(pressed()), this, SLOT(resetTables()));
    connect(ui->deleteButton, SIGNAL(pressed()), this, SLOT(deleteGenome()));
}
Example #5
0
void TownsEuphonyDriver::reset() {
	_intf->callback(0);

	_intf->callback(74);
	_intf->callback(70);
	_intf->callback(75, 3);

	setTimerA(true, 1);
	setTimerA(false, 1);
	setTimerB(true, 221);

	_paraCount = _command = _para[0] = _para[1] = 0;
	memset(_sustainChannels, 0, 16);
	memset(_activeChannels, -1, 16);
	for (int i = 0; i < 128; i++) {
		_assignedChannels[i].chan = _assignedChannels[i].next = -1;
		_assignedChannels[i].note = _assignedChannels[i].sub = 0;
	}

	int e = 0;
	for (int i = 0; i < 6; i++)
		assignChannel(i, e++);
	for (int i = 0x40; i < 0x48; i++)
		assignChannel(i, e++);

	resetTables();

	memset(_eventBuffer, 0, 64 * sizeof(DlEvent));
	_bufferedEventsCount = 0;

	_playing = _endOfTrack = _suspendParsing = _loop = false;
	_elapsedEvents = 0;
	_tempoDiff = 0;

	resetTempo();

	if (_tempoControlMode == 1) {
		//if (///)
		//  return;
		setTempoIntern(_defaultTempo);
	} else {
		setTempoIntern(_defaultTempo);
	}

	resetControl();
}
void IsoSurfacePolygonizer::polygonize(const Point3D &start
                                      ,double         cellSize
                                      ,const Cube3D  &boundingBox
                                      ,bool           tetrahedralMode
                                      ,bool           tetraOptimize4
                                      ,bool           adaptiveCellSize
                                      ) {

  const double startTime = getThreadTime();

  m_cellSize         = cellSize;
  m_boundingBox      = boundingBox;
  m_delta            = cellSize/(double)(RES*RES);
  m_tetrahedralMode  = tetrahedralMode;
  m_tetraOptimize4   = tetraOptimize4;
  m_adaptiveCellSize = adaptiveCellSize;

  m_statistics.clear();
  resetTables();

#ifdef _DEBUG
  _standardRandomGenerator->setSeed(87);
#else
  randomize();
#endif // _DEBUG

  m_start = start;
  for(int i = 0; i < 10; i++) {
    m_start = findStartPoint(m_start);
    if(putInitialCube()) {
      break;
    }
  }

  m_vertexArray.setCapacity( HASHSIZE);
  m_cubesDoneSet.setCapacity(HASHSIZE);
  m_edgeMap.setCapacity(     HASHSIZE);
  m_currentLevel = 0;
  while(hasActiveCubes()) {
    while(hasActiveCubes()) { // process active cubes until none left
      const StackedCube cube = getActiveCube();
#ifdef DEBUG_POLYGONIZER
      m_eval.markCurrentCube(cube);
#endif // DEBUG_POLYGONIZER
      const bool done = addSurfaceVertices(cube);

      if(cube.getLevel() == 0) {
        // test six face directions, maybe add to stack:
        testFace(cube.m_key.i-1 , cube.m_key.j   , cube.m_key.k   , cube, LFACE, LBN, LBF, LTN, LTF);
        testFace(cube.m_key.i+1 , cube.m_key.j   , cube.m_key.k   , cube, RFACE, RBN, RBF, RTN, RTF);
        testFace(cube.m_key.i   , cube.m_key.j-1 , cube.m_key.k   , cube, BFACE, LBN, LBF, RBN, RBF);
        testFace(cube.m_key.i   , cube.m_key.j+1 , cube.m_key.k   , cube, TFACE, LTN, LTF, RTN, RTF);
        testFace(cube.m_key.i   , cube.m_key.j   , cube.m_key.k-1 , cube, NFACE, LBN, LTN, RBN, RTN);
        testFace(cube.m_key.i   , cube.m_key.j   , cube.m_key.k+1 , cube, FFACE, LBF, LTF, RBF, RTF);
      }
      if(!done) {
        splitCube(cube);
      }
    }
    m_faceCount[m_currentLevel] = (UINT)m_faceArray.size();
    if(m_currentLevel>0) m_faceCount[m_currentLevel] -= m_faceCount[m_currentLevel-1];
    prepareNextLevel();
    m_currentLevel++;
  }
  saveStatistics(startTime);
  flushFaceArray();

#ifdef  DUMP_STATISTICS
  debugLog(_T("%s\n"), m_statistics.toString().cstr());
#endif
#ifdef DUMP_CORNERMAP
  dumpCornerMap();
#endif
#ifdef DUMP_EDGEMAP
  dumpEdgeMap();
#endif
#ifdef DUMP_VERTEXARRAY
  dumpVertexArray();
#endif
#ifdef DUMP_FACEARRAY
  dumpFaceArray();
#endif
}