void ChangeJournalWatcher::reindex(_i64 rid, std::wstring vol, SChangeJournal *sj)
{
	setIndexDone(vol, 0);

	indexing_in_progress=true;
	indexing_volume=vol;
	last_index_update=Server->getTimeMS();
	resetRoot(rid);
	deleteJournalData(vol);
	indexRootDirs2(vol, sj);
	listener->On_ResetAll(vol);
	indexing_in_progress=false;
	indexing_volume.clear();

	if(dwt->is_stopped()==false)
	{
		setIndexDone(vol, 1);
	}
}
Beispiel #2
0
int LayerSolver::solveLayer()
{
	resetRoot(); // czysci drzewo, zaczynamy od pustej warstwy
	int topHeight = 0;
	for (unsigned int i = 0; i < unplacedBoxes.size(); i++)
	{
		Box* currentBox = new Box(unplacedBoxes.at(i));
		Node* currentNode = (insert(currentBox, &root));
		if (currentNode!=NULL)
		{
			currentBox->setPos(currentNode->space.getTopLeft().x, resultHeight, currentNode->space.getTopLeft().y);
			placedBoxes.push_back(currentBox);
			currentNode->occupied = true;
			unplacedBoxes.erase(this->unplacedBoxes.begin() + i);
			i = -1;
			if (currentBox->getY()>topHeight)
			{
				topHeight = currentBox->getY();
			}
		}
	}

	return topHeight;
}
Beispiel #3
0
LayerSolver::~LayerSolver()
{
	resetRoot();
}