mapHandler.cpp 2.24 KB
Newer Older
1
#include "mapHandler.h"
2

3
#include "system.h"
4

5
MapHandlerGen::MapHandlerGen(const QString& name, Window* window) :
6
	m_name(name),
7 8
	m_window(window)
{}
9

10
MapHandlerGen::~MapHandlerGen()
11
{
12 13
	foreach(CGoGN::Utils::VBO* vbo, h_vbo)
		delete vbo;
14 15
}

16
CGoGN::Utils::VBO* MapHandlerGen::getVBO(const std::string& name)
17
{
18
	if (h_vbo.contains(name))
19 20
		return h_vbo[name];
	else
21
	{
22 23 24
		CGoGN::Utils::VBO* vbo = new CGoGN::Utils::VBO();
		h_vbo.insert(name, vbo);
		return vbo;
25 26 27
	}
}

28
void MapHandlerGen::deleteVBO(const std::string& name)
29
{
30
	if (h_vbo.contains(name))
31
	{
32 33 34
		CGoGN::Utils::VBO* vbo = h_vbo[name];
		h_vbo.remove(name);
		delete vbo;
35 36 37
	}
}

38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
//CGoGN::Utils::VBO* MapHandlerGen::addVBO(const QString& name)
//{
//	if (h_vbo.contains(name))
//	{
//		System::Error::code = System::Error::VBO_EXISTS;
//		return NULL;
//	}
//
//	CGoGN::Utils::VBO* vbo = new CGoGN::Utils::VBO();
//	h_vbo.insert(name, vbo);
//	return vbo;
//}
//
//void MapHandlerGen::removeVBO(const QString& name)
//{
//	if (h_vbo.contains(name))
//	{
//		CGoGN::Utils::VBO* vbo = h_vbo[name];
//		h_vbo.remove(name);
//		delete vbo;
//	}
//}
//
//CGoGN::Utils::VBO* MapHandlerGen::getVBO(const QString& name)
//{
//	if (h_vbo.contains(name))
//		return h_vbo[name];
//	else
//		return addVBO(name);
//}
//
//CGoGN::Utils::VBO* MapHandlerGen::findFirstVBOMatching(const QRegExp& regexp)
//{
//	QHash<QString, CGoGN::Utils::VBO*>::iterator it;
//	for (it = h_vbo.begin(); it != h_vbo.end(); ++it)
//	{
//		if (it.key().contains(regexp))
//			return it.value();
//	}
//	return NULL;
//}
//
//QList<CGoGN::Utils::VBO*> MapHandlerGen::findVBOsMatching(const QRegExp& regexp)
//{
//	QList<CGoGN::Utils::VBO*> rlist;
//	QHash<QString, CGoGN::Utils::VBO*>::iterator it;
//	for (it = h_vbo.begin(); it != h_vbo.end(); ++it)
//	{
//		if (it.key().contains(regexp))
//			rlist.push_back(it.value());
//	}
//	return rlist;
//}
91 92

/*********************************************************
93
 * MANAGE LINKED VIEWS
94 95
 *********************************************************/

96
bool MapHandlerGen::linkView(View* view)
97 98 99 100 101 102 103 104 105 106 107
{
	if(view && !l_views.contains(view))
	{
		l_views.push_back(view);
		view->updateGL();
		return true;
	}
	else
		return false;
}

108
void MapHandlerGen::unlinkView(View* view)
109 110 111 112 113 114
{
	if(l_views.removeOne(view))
	{
		view->updateGL();
	}
}