Coupure prévue mardi 3 Août au matin pour maintenance du serveur. Nous faisons au mieux pour que celle-ci soit la plus brève possible.

Commit 074a0cc7 authored by Sylvain Thery's avatar Sylvain Thery
Browse files

Merge branch 'master' of cgogn:~pitiot/CGoGN

parents 271c50a6 5ec3305b
...@@ -48,8 +48,8 @@ public: ...@@ -48,8 +48,8 @@ public:
virtual void faceState(const VEC3& current, CellMarkerMemo<FACE>& memo_cross) ; virtual void faceState(const VEC3& current, CellMarkerMemo<FACE>& memo_cross) ;
std::vector<Dart> move(const VEC3& goal) ;
std::vector<Dart> move(const VEC3& goal, CellMarkerMemo<FACE>& memo_cross) ; std::vector<Dart> move(const VEC3& goal, CellMarkerMemo<FACE>& memo_cross) ;
std::vector<Dart> move(const VEC3& goal);
} ; } ;
#include "particle_cell_2D_memo.hpp" #include "particle_cell_2D_memo.hpp"
......
template <typename PFP> template <typename PFP>
std::vector<Dart> ParticleCell2DMemo<PFP>::move(const VEC3& goal) std::vector<Dart> ParticleCell2DMemo<PFP>::move(const VEC3& goal)
{ {
this->crossCell = NO_CROSS ; this->crossCell = NO_CROSS ;
...@@ -34,26 +35,7 @@ template <typename PFP> ...@@ -34,26 +35,7 @@ template <typename PFP>
std::vector<Dart> ParticleCell2DMemo<PFP>::move(const VEC3& goal, CellMarkerMemo<FACE>& memo_cross) std::vector<Dart> ParticleCell2DMemo<PFP>::move(const VEC3& goal, CellMarkerMemo<FACE>& memo_cross)
{ {
memo_cross.mark(this->d); memo_cross.mark(this->d);
this->move(goal,memo_cross);
this->crossCell = NO_CROSS ;
if (!Geom::arePointsEquals(goal, this->getPosition()))
{
switch (this->getState())
{
case VERTEX :
vertexState(goal,memo_cross) ;
break ;
case EDGE :
edgeState(goal,memo_cross) ;
break ;
case FACE :
faceState(goal,memo_cross) ;
break ;
}
}
else
this->ParticleBase<PFP>::move(goal) ;
return memo_cross.get_markedCells(); return memo_cross.get_markedCells();
} }
...@@ -108,7 +90,6 @@ void ParticleCell2DMemo<PFP>::vertexState(const VEC3& current, CellMarkerMemo<FA ...@@ -108,7 +90,6 @@ void ParticleCell2DMemo<PFP>::vertexState(const VEC3& current, CellMarkerMemo<FA
{ {
this->edgeState(current,memo_cross) ; this->edgeState(current,memo_cross) ;
return; return;
} }
this->d = this->m.phi2_1(this->d) ; this->d = this->m.phi2_1(this->d) ;
......
...@@ -344,9 +344,12 @@ public: ...@@ -344,9 +344,12 @@ public:
{ {
assert(this->m_map.template getMarkerSet<CELL>(this->m_thread).testMark(this->m_mark)); assert(this->m_map.template getMarkerSet<CELL>(this->m_thread).testMark(this->m_mark));
assert(this->m_markVector != NULL); assert(this->m_markVector != NULL);
for (std::vector<Dart>::iterator it = m_markedDarts.begin(); it != m_markedDarts.end(); ++it) for (std::vector<Dart>::iterator it = m_markedDarts.begin(); it != m_markedDarts.end(); ++it)
this->m_markVector->operator[](this->m_map.template getEmbedding<CELL>(*it)).unsetMark(this->m_mark) ; {
this->unmark(*it) ;
}
m_markedDarts.clear();
} }
std::vector<Dart> get_markedCells() std::vector<Dart> get_markedCells()
{ {
......
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