Commit b1c8dad3 authored by Sylvain Thery's avatar Sylvain Thery

add cellular typing & foreach macro

parent 6b5d560c
This diff is collapsed.
......@@ -259,6 +259,122 @@ public:
inline Dart next() ;
} ;
template <typename MAP, unsigned int F, unsigned int T>
class IncidentTrav2
{
public:
IncidentTrav2(const MAP&, Dart) {}
};
template <typename MAP>
class IncidentTrav2<MAP,VERTEX,EDGE>
{
public:
Traversor2VE<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class IncidentTrav2<MAP,VERTEX,FACE>
{
public:
Traversor2VF<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class IncidentTrav2<MAP,EDGE,VERTEX>
{
public:
Traversor2EV<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class IncidentTrav2<MAP,EDGE,FACE>
{
public:
Traversor2EF<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class IncidentTrav2<MAP,FACE,VERTEX>
{
public:
Traversor2FV<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class IncidentTrav2<MAP,FACE,EDGE>
{
public:
Traversor2FE<MAP> t;
IncidentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP, unsigned int F, unsigned int T>
class AdjacentTrav2
{
public:
AdjacentTrav2(const MAP&, Dart) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,VERTEX,EDGE>
{
public:
Traversor2VVaE<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,VERTEX,FACE>
{
public:
Traversor2VVaF<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,EDGE,VERTEX>
{
public:
Traversor2EEaV<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,EDGE,FACE>
{
public:
Traversor2EEaF<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,FACE,VERTEX>
{
public:
Traversor2FFaV<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
template <typename MAP>
class AdjacentTrav2<MAP,FACE,EDGE>
{
public:
Traversor2FFaE<MAP> t;
AdjacentTrav2(const MAP& m, Dart d):t(m,d) {}
};
} // namespace CGoGN
#include "Topology/generic/traversor2.hpp"
......
......@@ -206,7 +206,7 @@ Dart Traversor3XY<MAP, ORBX, ORBY>::next()
{
m_cmark->mark(m_current);
m_current = m_tradoo.next();
if(ORBY == VOLUME)
if(ORBY == VOLUME && m_current != NIL)
{
if(m_map.template isBoundaryMarked<3>(m_current))
m_cmark->mark(m_current);
......
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