Commit 9e94ac25 authored by Pierre Kraemer's avatar Pierre Kraemer

move traversors & mapImpl files + create Algo/Topo/basic.h

parent 6b5d560c
......@@ -34,7 +34,7 @@
#include "Algo/Render/GL2/topo3Render.h"
#include "Algo/Render/SVG/mapSVGRender.h"
#include "Topology/generic/traversorFactory.h"
#include "Topology/generic/traversor/traversorFactory.h"
#include "Algo/Render/GL2/drawerCells.h"
......
......@@ -29,7 +29,7 @@
#include "Algo/Geometry/area.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor/traversorCell.h"
#include <cmath>
#include <sstream>
......
......@@ -35,7 +35,7 @@
#include "Algo/Render/SVG/mapSVGRender.h"
#include "Algo/Import/import.h"
#include "Topology/generic/traversorFactory.h"
#include "Topology/generic/traversor/traversorFactory.h"
MAP myMap;
VertexAttribute<VEC3, MAP_IMPL> position ;
......
......@@ -3,6 +3,8 @@
#include "Algo/Geometry/normal.h"
#include "Algo/Geometry/laplacian.h"
#include "Algo/Topo/basic.h"
#include <QKeyEvent>
#include <QMouseEvent>
......@@ -62,7 +64,7 @@ void MapParameters::start(MapHandlerGen* mhg)
for(unsigned int i = vertexRotationMatrix.begin(); i != vertexRotationMatrix.end(); vertexRotationMatrix.next(i))
vertexRotationMatrix[i] = Eigen::Matrix3f::Identity();
nb_vertices = map->computeIndexCells<VERTEX>(vIndex);
nb_vertices = Algo::Topo::computeIndexCells<VERTEX>(*map, vIndex);
if(nlContext)
nlDeleteContext(nlContext);
......@@ -260,6 +262,7 @@ void Surface_Deformation_Plugin::mapRemoved(MapHandlerGen* map)
void Surface_Deformation_Plugin::attributeAdded(unsigned int orbit, const QString& name)
{
MapHandlerGen* map = static_cast<MapHandlerGen*>(QObject::sender());
if(orbit == VERTEX && map->isSelectedMap())
m_dockTab->addVertexAttribute(name);
}
......
......@@ -17,6 +17,8 @@
#include "Algo/Render/GL2/mapRender.h"
#include "Algo/Geometry/boundingbox.h"
#include "Algo/Topo/basic.h"
#include "Utils/vbo.h"
namespace CGoGN
......@@ -80,6 +82,13 @@ public:
void setPrimitiveDirty(int primitive) { m_render->setPrimitiveDirty(primitive); }
/*********************************************************
* MANAGE TOPOLOGICAL QUERIES
*********************************************************/
virtual unsigned int getNbDarts() = 0;
virtual unsigned int getNbOrbits(unsigned int orbit) = 0;
/*********************************************************
* MANAGE ATTRIBUTES
*********************************************************/
......@@ -227,6 +236,13 @@ public:
inline MAP* getMap() { return static_cast<MAP*>(m_map); }
/*********************************************************
* MANAGE TOPOLOGICAL QUERIES
*********************************************************/
unsigned int getNbDarts();
unsigned int getNbOrbits(unsigned int orbit);
/*********************************************************
* MANAGE ATTRIBUTES
*********************************************************/
......
......@@ -22,6 +22,18 @@ inline QString MapHandlerGen::getAttributeTypeName(unsigned int orbit, const QSt
template <typename PFP>
unsigned int MapHandler<PFP>::getNbDarts()
{
return static_cast<MAP*>(m_map)->getNbDarts();
}
template <typename PFP>
unsigned int MapHandler<PFP>::getNbOrbits(unsigned int orbit)
{
return Algo::Topo::getNbOrbits(*static_cast<MAP*>(m_map), orbit);
}
template <typename PFP>
template <typename T, unsigned int ORBIT>
AttributeHandler<T, ORBIT, typename PFP::MAP::IMPL> MapHandler<PFP>::getAttribute(const QString& nameAttr, bool onlyRegistered) const
......
......@@ -221,19 +221,21 @@ void ControlDock_MapTab::removeSelector()
void ControlDock_MapTab::mapAdded(MapHandlerGen* m)
{
b_updatingUI = true;
QListWidgetItem* item = new QListWidgetItem(m->getName(), list_maps);
b_updatingUI = true;
item->setCheckState(Qt::Unchecked);
b_updatingUI = false;
}
void ControlDock_MapTab::mapRemoved(MapHandlerGen* m)
{
b_updatingUI = true;
QList<QListWidgetItem*> items = list_maps->selectedItems();
QList<QListWidgetItem*> items = list_maps->findItems(m->getName(), Qt::MatchExactly);
if(!items.empty())
{
b_updatingUI = true;
delete items[0];
b_updatingUI = false;
b_updatingUI = false;
}
}
void ControlDock_MapTab::selectedViewChanged(View* prev, View* cur)
......@@ -357,35 +359,35 @@ void ControlDock_MapTab::updateSelectedMapInfo()
switch(orbit)
{
case DART : {
unsigned int nb = m->getNbDarts();
unsigned int nb = m_selectedMap->getNbDarts();
label_dartNbOrbits->setText(QString::number(nb));
label_dartNbCells->setText(QString::number(nbc));
selectorList = list_dartSelectors;
break;
}
case VERTEX : {
unsigned int nb = m->getNbOrbits(VERTEX);
unsigned int nb = m_selectedMap->getNbOrbits(VERTEX);
label_vertexNbOrbits->setText(QString::number(nb));
label_vertexNbCells->setText(QString::number(nbc));
selectorList = list_vertexSelectors;
break;
}
case EDGE : {
unsigned int nb = m->getNbOrbits(EDGE);
unsigned int nb = m_selectedMap->getNbOrbits(EDGE);
label_edgeNbOrbits->setText(QString::number(nb));
label_edgeNbCells->setText(QString::number(nbc));
selectorList = list_edgeSelectors;
break;
}
case FACE : {
unsigned int nb = m->getNbOrbits(FACE);
unsigned int nb = m_selectedMap->getNbOrbits(FACE);
label_faceNbOrbits->setText(QString::number(nb));
label_faceNbCells->setText(QString::number(nbc));
selectorList = list_faceSelectors;
break;
}
case VOLUME : {
unsigned int nb = m->getNbOrbits(VOLUME);
unsigned int nb = m_selectedMap->getNbOrbits(VOLUME);
label_volumeNbOrbits->setText(QString::number(nb));
label_volumeNbCells->setText(QString::number(nbc));
selectorList = list_volumeSelectors;
......
......@@ -229,7 +229,7 @@ void nlGetDoublev(NLenum pname, NLdouble* params) {
}
}
void nlGetIntergerv(NLenum pname, NLint* params) {
void nlGetIntegerv(NLenum pname, NLint* params) {
switch(pname) {
case NL_SOLVER: {
*params = (NLint)(nlCurrentContext->solver) ;
......
......@@ -72,13 +72,13 @@ NLuint nlSolve_CG() {
NLdouble *g = NL_NEW_ARRAY(NLdouble, N) ;
NLdouble *r = NL_NEW_ARRAY(NLdouble, N) ;
NLdouble *p = NL_NEW_ARRAY(NLdouble, N) ;
NLuint its=0;
NLuint its = 0;
NLint i;
NLdouble t, tau, sig, rho, gam;
NLdouble b_square=ddot(N,b,1,b,1);
NLdouble err=eps*eps*b_square;
NLdouble accu =0.0;
NLdouble * Ax=NL_NEW_ARRAY(NLdouble,nlCurrentContext->n);
NLdouble b_square = ddot(N,b,1,b,1);
NLdouble err = eps*eps*b_square;
NLdouble accu = 0.0;
NLdouble * Ax = NL_NEW_ARRAY(NLdouble,nlCurrentContext->n);
NLdouble curr_err;
nlCurrentContext->matrix_vector_prod(x,g);
......@@ -86,9 +86,9 @@ NLuint nlSolve_CG() {
dscal(N,-1.,g,1);
dcopy(N,g,1,r,1);
curr_err = ddot(N,g,1,g,1);
while ( curr_err >err && its < max_iter) {
while ( curr_err > err && its < max_iter) {
if(!(its % 100)) {
printf ( "%d : %.10e -- %.10e\n", its, curr_err, err ) ;
// printf ( "%d : %.10e -- %.10e\n", its, curr_err, err ) ;
}
nlCurrentContext->matrix_vector_prod(r,p);
rho=ddot(N,p,1,p,1);
......@@ -101,12 +101,12 @@ NLuint nlSolve_CG() {
dscal(N,gam,r,1);
daxpy(N,1.,g,1,r,1);
++its;
curr_err = ddot(N,g,1,g,1);
}
curr_err = ddot(N,g,1,g,1);
}
nlCurrentContext->matrix_vector_prod(x,Ax);
for(i = 0 ; i < N ; ++i)
accu+=(Ax[i]-b[i])*(Ax[i]-b[i]);
printf("in OpenNL : ||Ax-b||/||b|| = %e\n",sqrt(accu)/sqrt(b_square));
// printf("in OpenNL : ||Ax-b||/||b|| = %e\n",sqrt(accu)/sqrt(b_square));
NL_DELETE_ARRAY(Ax);
NL_DELETE_ARRAY(g) ;
NL_DELETE_ARRAY(r) ;
......
......@@ -24,8 +24,8 @@
#include "Topology/generic/attributeHandler.h"
#include "Topology/generic/autoAttributeHandler.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Topology/generic/cellmarker.h"
#include "Utils/compress.h"
......
......@@ -24,8 +24,8 @@
#include "Topology/generic/attributeHandler.h"
#include "Topology/generic/autoAttributeHandler.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Topology/generic/cellmarker.h"
#include "Algo/Import/importFileTypes.h"
......
......@@ -24,8 +24,8 @@
#include "Geometry/basic.h"
#include "Algo/Geometry/centroid.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
namespace CGoGN
{
......
......@@ -28,8 +28,7 @@
#include "Geometry/basic.h"
#include "Geometry/bounding_box.h"
#include "Topology/generic/attributeHandler.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor/traversorCell.h"
namespace CGoGN
{
......
......@@ -22,11 +22,11 @@
* *
*******************************************************************************/
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/cellmarker.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor3.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor3.h"
#include "Algo/Parallel/parallel_foreach.h"
namespace CGoGN
......
......@@ -24,9 +24,8 @@
#include "Algo/Geometry/localFrame.h"
#include "Geometry/matrix.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
namespace CGoGN
{
......
......@@ -22,8 +22,8 @@
* *
*******************************************************************************/
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Algo/Geometry/basic.h"
namespace CGoGN
......
......@@ -25,8 +25,8 @@
#include "Algo/Geometry/basic.h"
#include "Algo/Geometry/area.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Algo/Parallel/parallel_foreach.h"
......
......@@ -22,7 +22,7 @@
* *
*******************************************************************************/
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Algo/Geometry/centroid.h"
#include "Algo/Modelisation/tetrahedralization.h"
......
......@@ -26,6 +26,7 @@
#include "Topology/generic/autoAttributeHandler.h"
#include "Container/fakeAttribute.h"
#include "Algo/Modelisation/polyhedron.h"
#include "Algo/Topo/basic.h"
namespace CGoGN
{
......@@ -147,7 +148,7 @@ bool importMesh(typename PFP::MAP& map, MeshTablesSurface<PFP>& mts)
if (needBijectiveCheck)
{
// ensure bijection between topo and embedding
map.template bijectiveOrbitEmbedding<VERTEX>();
Algo::Topo::bijectiveOrbitEmbedding<VERTEX>(map);
}
return true ;
......
......@@ -28,6 +28,7 @@
#include "NL/nl.h"
#include "Algo/LinearSolving/variablesSetup.h"
#include "Algo/LinearSolving/matrixSetup.h"
#include "Algo/Topo/basic.h"
namespace CGoGN
{
......@@ -46,8 +47,14 @@ void setupVariables(
const CellMarker<typename PFP::MAP, VERTEX>& fm,
const VertexAttribute<ATTR_TYPE, typename PFP::MAP::IMPL>& attr)
{
// TraversorV<MAP> t(m);
// for (Dart d = t.begin(); d != t.end(); d = t.next())
// {
// }
FunctorMeshToSolver_Scalar<PFP, ATTR_TYPE> fmts(index, fm, attr) ;
m.template foreach_orbit<VERTEX>(fmts) ;
Algo::Topo::foreach_orbit<VERTEX>(m, fmts) ;
}
template <typename PFP, typename ATTR_TYPE>
......@@ -59,7 +66,7 @@ void setupVariables(
unsigned int coord)
{
FunctorMeshToSolver_Vector<PFP, ATTR_TYPE> fmts(index, fm, attr, coord) ;
m.template foreach_orbit<VERTEX>(fmts) ;
Algo::Topo::foreach_orbit<VERTEX>(m, fmts) ;
}
/*******************************************************************************
......@@ -75,7 +82,7 @@ void addRowsRHS_Equality(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorEquality_PerVertexWeight_Scalar<PFP, ATTR_TYPE> feq(index, attr, weight) ;
m.template foreach_orbit<VERTEX>(feq) ;
Algo::Topo::foreach_orbit<VERTEX>(m, feq) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -88,7 +95,7 @@ void addRowsRHS_Equality(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorEquality_UniformWeight_Scalar<PFP, ATTR_TYPE> feq(index, attr, weight) ;
m.template foreach_orbit<VERTEX>(feq) ;
Algo::Topo::foreach_orbit<VERTEX>(m, feq) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -102,7 +109,7 @@ void addRowsRHS_Equality(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorEquality_PerVertexWeight_Vector<PFP, ATTR_TYPE> feq(index, attr, weight, coord) ;
m.template foreach_orbit<VERTEX>(feq) ;
Algo::Topo::foreach_orbit<VERTEX>(m, feq) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -116,7 +123,7 @@ void addRowsRHS_Equality(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorEquality_UniformWeight_Vector<PFP, ATTR_TYPE> feq(index, attr, weight, coord) ;
m.template foreach_orbit<VERTEX>(feq) ;
Algo::Topo::foreach_orbit<VERTEX>(m, feq) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -131,7 +138,7 @@ void addRows_Laplacian_Topo(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianTopo<PFP> flt(m, index) ;
m.template foreach_orbit<VERTEX>(flt) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flt) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -143,7 +150,7 @@ void addRowsRHS_Laplacian_Topo(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianTopoRHS_Scalar<PFP, ATTR_TYPE> flt(m, index, attr) ;
m.template foreach_orbit<VERTEX>(flt) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flt) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -156,7 +163,7 @@ void addRowsRHS_Laplacian_Topo(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianTopoRHS_Vector<PFP, ATTR_TYPE> flt(m, index, attr, coord) ;
m.template foreach_orbit<VERTEX>(flt) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flt) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -173,7 +180,7 @@ void addRows_Laplacian_Cotan(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianCotan<PFP> flc(m, index, edgeWeight, vertexArea) ;
m.template foreach_orbit<VERTEX>(flc) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flc) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -187,7 +194,7 @@ void addRowsRHS_Laplacian_Cotan(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianCotanRHS_Scalar<PFP, ATTR_TYPE> flc(m, index, edgeWeight, vertexArea, attr) ;
m.template foreach_orbit<VERTEX>(flc) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flc) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -202,7 +209,7 @@ void addRowsRHS_Laplacian_Cotan(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianCotanRHS_Vector<PFP, ATTR_TYPE> flc(m, index, edgeWeight, vertexArea, attr, coord) ;
m.template foreach_orbit<VERTEX>(flc) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flc) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -217,7 +224,7 @@ void addRowsRHS_Laplacian_Cotan_NL(
{
nlEnable(NL_NORMALIZE_ROWS) ;
FunctorLaplacianCotanRHS_Vector<PFP, ATTR_TYPE> flc(m, index, edgeWeight, vertexArea, attr, coord) ;
m.template foreach_orbit<VERTEX>(flc) ;
Algo::Topo::foreach_orbit<VERTEX>(m, flc) ;
nlDisable(NL_NORMALIZE_ROWS) ;
}
......@@ -232,7 +239,7 @@ void getResult(
VertexAttribute<ATTR_TYPE, typename PFP::MAP::IMPL>& attr)
{
FunctorSolverToMesh_Scalar<PFP, ATTR_TYPE> fstm(index, attr) ;
m.template foreach_orbit<VERTEX>(fstm) ;
Algo::Topo::foreach_orbit<VERTEX>(m, fstm) ;
}
template <typename PFP, typename ATTR_TYPE>
......@@ -243,7 +250,7 @@ void getResult(
unsigned int coord)
{
FunctorSolverToMesh_Vector<PFP, ATTR_TYPE> fstm(index, attr, coord) ;
m.template foreach_orbit<VERTEX>(fstm) ;
Algo::Topo::foreach_orbit<VERTEX>(m, fstm) ;
}
} // namespace LinearSolving
......
......@@ -29,7 +29,7 @@
#include <vector>
#include "Geometry/plane_3d.h"
#include "Topology/generic/cellmarker.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Algo/Modelisation/triangulation.h"
#include "Algo/Modelisation/subdivision.h"
......
......@@ -22,9 +22,9 @@
* *
*******************************************************************************/
#include "Algo/Modelisation/subdivision3.h"
#include "Topology/generic/traversor3.h"
#include "Algo/Modelisation/subdivision.h"
#include "Algo/Modelisation/subdivision3.h"
#include "Topology/generic/traversor/traversor3.h"
namespace CGoGN
{
......
......@@ -26,8 +26,8 @@
#define __MAP2MR_PRIMAL_ADAPT__
#include "Topology/ihmap/ihm2.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include <cmath>
......@@ -64,7 +64,6 @@ protected:
public:
IHM2(MAP& map) ;
/***************************************************
* CELLS INFORMATION *
***************************************************/
......@@ -117,7 +116,6 @@ public:
*/
bool faceIsSubdividedOnce(Dart d) ;
protected:
/***************************************************
* SUBDIVISION *
......
......@@ -40,7 +40,7 @@ namespace Adaptive
{
template <typename PFP>
IHM2<PFP>::IHM2(typename PFP::MAP& map) :
IHM2<PFP>::IHM2(MAP& map) :
m_map(map),
shareVertexEmbeddings(true),
vertexVertexFunctor(NULL),
......
......@@ -26,13 +26,12 @@
#define _IHM2MR_PRIMAL_REGULAR_
#include "Topology/ihmap/ihm2.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"
#include "Topology/generic/traversor/traversorCell.h"
#include "Topology/generic/traversor/traversor2.h"
#include "Algo/Multiresolution/filter.h"
#include "Algo/Import/importMRDAT.h"
#include <cmath>
namespace CGoGN
......@@ -84,7 +83,6 @@ public:
void addLevelFront();
void import(Algo::Surface::Import::QuadTree& qt);
} ;
} // namespace Regular
......
......@@ -46,7 +46,6 @@ IHM2<PFP>::IHM2(typename PFP::MAP& map) :
m_map(map),
shareVertexEmbeddings(true)
{
}
//if true : tri and quad else quad
......@@ -58,7 +57,7 @@ void IHM2<PFP>::addNewLevel(bool triQuad)
m_map.setCurrentLevel(m_map.getMaxLevel() + 1) ;
// cut edges
TraversorE<typename PFP::MAP> travE(m_map) ;
TraversorE<MAP> travE(m_map) ;
for (Dart d = travE.begin(); d != travE.end(); d = travE.next())
{
Dart dd = m_map.phi2(d) ;
......@@ -73,7 +72,7 @@ void IHM2<PFP>::addNewLevel(bool triQuad)
}
// split faces
TraversorF<typename PFP::MAP> travF(m_map) ;
TraversorF<MAP> travF(m_map) ;
for (Dart d = travF.begin(); d != travF.end(); d = travF.next())
{
Dart old = d ;
......@@ -85,7 +84,7 @@ void IHM2<PFP>::addNewLevel(bool triQuad)
unsigned int degree = m_map.faceDegree(old) ;
m_map.incCurrentLevel();
if((degree == 3) && triQuad) // if subdividing a triangle
if((degree == 3) && triQuad) // if subdividing a triangle
{
Dart dd = m_map.phi1(old) ;
Dart e = m_map.phi1(m_map.phi1(dd)) ;
......@@ -170,7 +169,7 @@ void IHM2<PFP>::addLevelFront()
//1. look for an irregular vertex
Dart irregVertex = NIL;
TraversorV<typename PFP::MAP> tv(m_map);
TraversorV<MAP> tv(m_map);
bool found = false;
for(Dart d = tv.begin() ; !found && d != tv.end() ; d = tv.next())
{
......@@ -191,7 +190,7 @@ void IHM2<PFP>::addLevelFront()
{
m_map.setCurrentLevel(curLevel);
DartMarker md(m_map);
DartMarker<MAP> md(m_map);
std::vector<Dart> visitedVertices;
visitedVertices.reserve(1024);
visitedVertices.push_back(irregVertex);
......@@ -202,7 +201,7 @@ void IHM2<PFP>::addLevelFront()
{
Dart d = visitedVertices[i];
Traversor2VE<typename PFP::MAP> tve(m_map, d);
Traversor2VE<MAP> tve(m_map, d);
for(Dart eit = tve.begin() ; eit != tve.end() ; eit = tve.next())
{
//coarse all faces around the vertex
......@@ -213,10 +212,10 @@ void IHM2<PFP>::addLevelFront()
Dart fit3 = m_map.phi_1(m_map.phi2(m_map.phi1(fit1)));
Dart fit4 = m_map.phi_1(m_map.phi2(m_map.phi_1(fit1)));
md.markOrbit<FACE>(fit1);
md.markOrbit<FACE>(fit2);
md.markOrbit<FACE>(fit3);
md.markOrbit<FACE>(fit4);
md.template markOrbit<FACE>(fit1);
md.template markOrbit<FACE>(fit2);
md.template markOrbit<FACE>(fit3);
md.template markOrbit<FACE>(fit4);
visitedVertices.push_back(m_map.phi1(m_map.phi2(fit2)));
visitedVertices.push_back(m_map.phi1(m_map.phi2(fit3)));
......@@ -265,7 +264,7 @@ void IHM2<PFP>::addLevelFront()
curLevel = curLevel - 1;
}while(curLevel > 2);
} while(curLevel > 2);
// m_map.setMaxLevel(curLevel);
......@@ -316,7 +315,6 @@ void IHM2<PFP>::import(Algo::Surface::Import::QuadTree& qt)
std::cout << "..done" << std::endl ;
}
} // namespace Regular
} // namespace Primal
......
......@@ -26,8 +26,8 @@
#define __MAP2MR_DUAL_REGULAR__
#include "Topology/map/embeddedMap2.h"
#include "Topology/generic/traversorCell.h"
#include "Topology/generic/traversor2.h"