Commit cccae9c1 authored by Sylvain Thery's avatar Sylvain Thery

quick local traversal 2/3

parent 929fb4d9
......@@ -516,15 +516,29 @@ inline void GenericMap::updateQuickLocalIncidentTraversal(MAP& map)
for (Dart d = tra_glob.begin(); d != tra_glob.end(); d = tra_glob.next())
{
buffer.clear();
Traversor3XY<MAP,ORBIT,INCI> tra_loc(map,d);
for (Dart e = tra_loc.begin(); e != tra_loc.end(); e = tra_loc.next())
Traversor<MAP>* tra_loc = TraversorFactory<MAP>::createIncident(map, d, map.dimension(), ORBIT, INCI);
for (Dart e = tra_loc->begin(); e != tra_loc->end(); e = tra_loc->next())
buffer.push_back(e);
delete tra_loc;
buffer.push_back(NIL);
std::vector<Dart>& vd = (*ptrVD)[getEmbedding<ORBIT>(d)];
vd.reserve(buffer.size());
vd.assign(buffer.begin(),buffer.end());
}
// TraversorCell<MAP,ORBIT> tra_glob(map);
// for (Dart d = tra_glob.begin(); d != tra_glob.end(); d = tra_glob.next())
// {
// buffer.clear();
// Traversor3XY<MAP,ORBIT,INCI> tra_loc(map,d);
// for (Dart e = tra_loc.begin(); e != tra_loc.end(); e = tra_loc.next())
// buffer.push_back(e);
// buffer.push_back(NIL);
// std::vector<Dart>& vd = (*ptrVD)[getEmbedding<ORBIT>(d)];
// vd.reserve(buffer.size());
// vd.assign(buffer.begin(),buffer.end());
// }
m_quickLocalIncidentTraversal[ORBIT][INCI] = ptrVD;
}
......@@ -575,8 +589,8 @@ inline void GenericMap::updateQuickLocalAdjacentTraversal(MAP& map)
for (Dart d = tra_glob.begin(); d != tra_glob.end(); d = tra_glob.next())
{
buffer.clear();
Traversor3XXaY<MAP,ORBIT,ADJ> tra_loc(map,d);
for (Dart e = tra_loc.begin(); e != tra_loc.end(); e = tra_loc.next())
Traversor<MAP>* tra_loc = TraversorFactory<MAP>::createAdjacent(map, d, map.dimension(), ORBIT, ADJ);
for (Dart e = tra_loc->begin(); e != tra_loc->end(); e = tra_loc->next())
buffer.push_back(e);
buffer.push_back(NIL);
......@@ -584,6 +598,19 @@ inline void GenericMap::updateQuickLocalAdjacentTraversal(MAP& map)
vd.reserve(buffer.size());
vd.assign(buffer.begin(),buffer.end());
}
// TraversorCell<MAP,ORBIT> tra_glob(map);
// for (Dart d = tra_glob.begin(); d != tra_glob.end(); d = tra_glob.next())
// {
// buffer.clear();
// Traversor3XXaY<MAP,ORBIT,ADJ> tra_loc(map,d);
// for (Dart e = tra_loc.begin(); e != tra_loc.end(); e = tra_loc.next())
// buffer.push_back(e);
// buffer.push_back(NIL);
// std::vector<Dart>& vd = (*ptrVD)[getEmbedding<ORBIT>(d)];
// vd.reserve(buffer.size());
// vd.assign(buffer.begin(),buffer.end());
// }
m_quickLocalAdjacentTraversal[ORBIT][ADJ] = ptrVD;
}
......
......@@ -43,7 +43,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2VE(MAP& map, Dart dart) ;
......@@ -60,7 +61,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2VF(MAP& map, Dart dart) ;
......@@ -77,7 +79,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2VVaE(MAP& map, Dart dart) ;
......@@ -96,7 +99,8 @@ private:
Dart current ;
Dart stop ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2VVaF(MAP& map, Dart dart) ;
......@@ -117,7 +121,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2EV(MAP& map, Dart dart) ;
......@@ -134,7 +139,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2EF(MAP& map, Dart dart) ;
......@@ -153,7 +159,8 @@ private:
Dart current ;
Dart stop1, stop2 ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2EEaV(MAP& map, Dart dart) ;
......@@ -172,7 +179,8 @@ private:
Dart current ;
Dart stop1, stop2 ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2EEaF(MAP& map, Dart dart) ;
......@@ -193,7 +201,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2FV(MAP& map, Dart dart) ;
......@@ -221,7 +230,8 @@ private:
Dart current ;
Dart stop ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2FFaV(MAP& map, Dart dart) ;
......@@ -238,7 +248,8 @@ private:
MAP& m ;
Dart start ;
Dart current ;
std::vector<Dart>* m_QLT;
std::vector<Dart>::iterator m_ItDarts;
public:
Traversor2FFaE(MAP& map, Dart dart) ;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment