Commit cfaebffc authored by Sylvain Thery's avatar Sylvain Thery

keep only NoTypeNameAttribute for fake attribute

parent 927fc518
...@@ -120,7 +120,7 @@ private: ...@@ -120,7 +120,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "LengthEdgeInfo" ; } static std::string CGoGNnameOfType() { return "LengthEdgeInfo" ; }
} LengthEdgeInfo ; } LengthEdgeInfo ;
typedef NoMathIOAttribute<LengthEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<LengthEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
...@@ -183,7 +183,7 @@ private: ...@@ -183,7 +183,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "QEMedgeInfo" ; } static std::string CGoGNnameOfType() { return "QEMedgeInfo" ; }
} QEMedgeInfo ; } QEMedgeInfo ;
typedef NoMathIOAttribute<QEMedgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<QEMedgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > quadric ; VertexAttribute<Utils::Quadric<REAL> > quadric ;
...@@ -235,7 +235,7 @@ private: ...@@ -235,7 +235,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "QEMedgeInfo" ; } static std::string CGoGNnameOfType() { return "QEMedgeInfo" ; }
} QEMedgeInfo ; } QEMedgeInfo ;
typedef NoMathIOAttribute<QEMedgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<QEMedgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > quadric ; VertexAttribute<Utils::Quadric<REAL> > quadric ;
...@@ -288,7 +288,7 @@ private: ...@@ -288,7 +288,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "NormalAreaEdgeInfo" ; } static std::string CGoGNnameOfType() { return "NormalAreaEdgeInfo" ; }
} NormalAreaEdgeInfo ; } NormalAreaEdgeInfo ;
typedef NoMathIOAttribute<NormalAreaEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<NormalAreaEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
EdgeAttribute<Geom::Matrix<3,3,REAL> > edgeMatrix ; EdgeAttribute<Geom::Matrix<3,3,REAL> > edgeMatrix ;
...@@ -342,7 +342,7 @@ private: ...@@ -342,7 +342,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "CurvatureEdgeInfo" ; } static std::string CGoGNnameOfType() { return "CurvatureEdgeInfo" ; }
} CurvatureEdgeInfo ; } CurvatureEdgeInfo ;
typedef NoMathIOAttribute<CurvatureEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<CurvatureEdgeInfo> EdgeInfo ;
Geom::BoundingBox<VEC3> bb ; Geom::BoundingBox<VEC3> bb ;
REAL radius ; REAL radius ;
...@@ -442,7 +442,7 @@ private: ...@@ -442,7 +442,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "CurvatureTensorEdgeInfo" ; } static std::string CGoGNnameOfType() { return "CurvatureTensorEdgeInfo" ; }
} CurvatureTensorEdgeInfo ; } CurvatureTensorEdgeInfo ;
typedef NoMathIOAttribute<CurvatureTensorEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<CurvatureTensorEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
EdgeAttribute<REAL> edgeangle ; EdgeAttribute<REAL> edgeangle ;
...@@ -500,7 +500,7 @@ private: ...@@ -500,7 +500,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "MinDetailEdgeInfo" ; } static std::string CGoGNnameOfType() { return "MinDetailEdgeInfo" ; }
} MinDetailEdgeInfo ; } MinDetailEdgeInfo ;
typedef NoMathIOAttribute<MinDetailEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<MinDetailEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
...@@ -551,7 +551,7 @@ private: ...@@ -551,7 +551,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "ColorNaiveEdgeInfo" ; } static std::string CGoGNnameOfType() { return "ColorNaiveEdgeInfo" ; }
} ColorNaiveedgeInfo ; } ColorNaiveedgeInfo ;
typedef NoMathIOAttribute<ColorNaiveedgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<ColorNaiveedgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > m_quadric ; VertexAttribute<Utils::Quadric<REAL> > m_quadric ;
...@@ -613,7 +613,7 @@ private: ...@@ -613,7 +613,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "GeomColOptGradEdgeInfo" ; } static std::string CGoGNnameOfType() { return "GeomColOptGradEdgeInfo" ; }
} ColorNaiveedgeInfo ; } ColorNaiveedgeInfo ;
typedef NoMathIOAttribute<ColorNaiveedgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<ColorNaiveedgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > m_quadric ; VertexAttribute<Utils::Quadric<REAL> > m_quadric ;
...@@ -695,7 +695,7 @@ private: ...@@ -695,7 +695,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "QEMextColorEdgeInfo" ; } static std::string CGoGNnameOfType() { return "QEMextColorEdgeInfo" ; }
} QEMextColorEdgeInfo ; } QEMextColorEdgeInfo ;
typedef NoMathIOAttribute<QEMextColorEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<QEMextColorEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
VertexAttribute<Utils::QuadricNd<REAL,6> > m_quadric ; VertexAttribute<Utils::QuadricNd<REAL,6> > m_quadric ;
......
...@@ -57,7 +57,7 @@ private: ...@@ -57,7 +57,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "QEMhalfEdgeInfo" ; } static std::string CGoGNnameOfType() { return "QEMhalfEdgeInfo" ; }
} QEMhalfEdgeInfo ; } QEMhalfEdgeInfo ;
typedef NoMathIOAttribute<QEMhalfEdgeInfo> HalfEdgeInfo ; typedef NoTypeNameAttribute<QEMhalfEdgeInfo> HalfEdgeInfo ;
DartAttribute<HalfEdgeInfo> halfEdgeInfo ; DartAttribute<HalfEdgeInfo> halfEdgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > quadric ; VertexAttribute<Utils::Quadric<REAL> > quadric ;
...@@ -113,7 +113,7 @@ private: ...@@ -113,7 +113,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "QEMextColorHalfEdgeInfo" ; } static std::string CGoGNnameOfType() { return "QEMextColorHalfEdgeInfo" ; }
} QEMextColorHalfEdgeInfo ; } QEMextColorHalfEdgeInfo ;
typedef NoMathIOAttribute<QEMextColorHalfEdgeInfo> HalfEdgeInfo ; typedef NoTypeNameAttribute<QEMextColorHalfEdgeInfo> HalfEdgeInfo ;
DartAttribute<HalfEdgeInfo> halfEdgeInfo ; DartAttribute<HalfEdgeInfo> halfEdgeInfo ;
VertexAttribute<Utils::QuadricNd<REAL,6> > m_quadric ; VertexAttribute<Utils::QuadricNd<REAL,6> > m_quadric ;
...@@ -200,7 +200,7 @@ private: ...@@ -200,7 +200,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "ColorExperimentalHalfEdgeInfo" ; } static std::string CGoGNnameOfType() { return "ColorExperimentalHalfEdgeInfo" ; }
} QEMextColorHalfEdgeInfo ; } QEMextColorHalfEdgeInfo ;
typedef NoMathIOAttribute<QEMextColorHalfEdgeInfo> HalfEdgeInfo ; typedef NoTypeNameAttribute<QEMextColorHalfEdgeInfo> HalfEdgeInfo ;
DartAttribute<HalfEdgeInfo> halfEdgeInfo ; DartAttribute<HalfEdgeInfo> halfEdgeInfo ;
VertexAttribute<Utils::Quadric<REAL> > m_quadric ; VertexAttribute<Utils::Quadric<REAL> > m_quadric ;
......
...@@ -298,7 +298,7 @@ private: ...@@ -298,7 +298,7 @@ private:
typedef typename std::multimap<float, CRIT*>::iterator CRIT_IT; typedef typename std::multimap<float, CRIT*>::iterator CRIT_IT;
typedef NoMathIONameAttribute<CRIT_IT> CRIT_IT_ATT; typedef NoTypeNameAttribute<CRIT_IT> CRIT_IT_ATT;
// attribut d'arête // attribut d'arête
AutoAttributeHandler<CRIT_IT_ATT> m_edgeEmb; AutoAttributeHandler<CRIT_IT_ATT> m_edgeEmb;
......
...@@ -101,7 +101,7 @@ private: ...@@ -101,7 +101,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "LengthEdgeInfo" ; } static std::string CGoGNnameOfType() { return "LengthEdgeInfo" ; }
} LengthEdgeInfo ; } LengthEdgeInfo ;
typedef NoMathIOAttribute<LengthEdgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<LengthEdgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
...@@ -151,7 +151,7 @@ private: ...@@ -151,7 +151,7 @@ private:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "SG98edgeInfo" ; } static std::string CGoGNnameOfType() { return "SG98edgeInfo" ; }
} SG98edgeInfo ; } SG98edgeInfo ;
typedef NoMathIOAttribute<SG98edgeInfo> EdgeInfo ; typedef NoTypeNameAttribute<SG98edgeInfo> EdgeInfo ;
EdgeAttribute<EdgeInfo> edgeInfo ; EdgeAttribute<EdgeInfo> edgeInfo ;
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#define __ALGO_GEOMETRY_CENTROID_H__ #define __ALGO_GEOMETRY_CENTROID_H__
#include "Geometry/basic.h" #include "Geometry/basic.h"
#include "Topology/generic/attribops.h"
namespace CGoGN namespace CGoGN
{ {
......
...@@ -47,7 +47,7 @@ enum ...@@ -47,7 +47,7 @@ enum
typedef struct { Dart d ; float w ; } e0point ; typedef struct { Dart d ; float w ; } e0point ;
typedef struct { e0point p1 ; e0point p2 ; unsigned char type ; } e0segment ; typedef struct { e0point p1 ; e0point p2 ; unsigned char type ; } e0segment ;
typedef NoMathIONameAttribute<e0segment> ridgeSegment ; typedef NoTypeNameAttribute<e0segment> ridgeSegment ;
template <typename PFP> template <typename PFP>
void featureEdgeDetection( void featureEdgeDetection(
......
...@@ -34,7 +34,7 @@ protected : ...@@ -34,7 +34,7 @@ protected :
Dart pathOrigin; Dart pathOrigin;
static std::string CGoGNnameOfType() { return "VoronoiVertexInfo" ; } static std::string CGoGNnameOfType() { return "VoronoiVertexInfo" ; }
} VoronoiVertexInfo ; } VoronoiVertexInfo ;
typedef NoMathIOAttribute<VoronoiVertexInfo> VertexInfo ; typedef NoTypeNameAttribute<VoronoiVertexInfo> VertexInfo ;
typename PFP::MAP& map; typename PFP::MAP& map;
const EdgeAttribute<REAL>& edgeCost; // weights on the graph edges const EdgeAttribute<REAL>& edgeCost; // weights on the graph edges
......
...@@ -192,7 +192,7 @@ bool importMRDAT(typename PFP::MAP& map, const std::string& filename, std::vecto ...@@ -192,7 +192,7 @@ bool importMRDAT(typename PFP::MAP& map, const std::string& filename, std::vecto
std::cout << " Create base level mesh.." << std::flush ; std::cout << " Create base level mesh.." << std::flush ;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents") ; VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents") ;
DartMarkerNoUnmark m(map) ; DartMarkerNoUnmark m(map) ;
unsigned nbf = qt.roots.size() ; unsigned nbf = qt.roots.size() ;
......
...@@ -49,7 +49,7 @@ bool importMSH(typename PFP::MAP& map, const std::string& filename, std::vector< ...@@ -49,7 +49,7 @@ bool importMSH(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
unsigned int m_nbVertices = 0, m_nbVolumes = 0; unsigned int m_nbVertices = 0, m_nbVolumes = 0;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
//open file //open file
std::ifstream fp(filename.c_str(), std::ios::in); std::ifstream fp(filename.c_str(), std::ios::in);
......
...@@ -42,7 +42,7 @@ namespace Import ...@@ -42,7 +42,7 @@ namespace Import
template <typename PFP> template <typename PFP>
bool importMesh(typename PFP::MAP& map, MeshTablesSurface<PFP>& mts) bool importMesh(typename PFP::MAP& map, MeshTablesSurface<PFP>& mts)
{ {
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
unsigned nbf = mts.getNbFaces(); unsigned nbf = mts.getNbFaces();
int index = 0; int index = 0;
...@@ -159,7 +159,7 @@ bool importMesh(typename PFP::MAP& map, const std::string& filename, std::vector ...@@ -159,7 +159,7 @@ bool importMesh(typename PFP::MAP& map, const std::string& filename, std::vector
template <typename PFP> template <typename PFP>
bool importMeshSAsV(typename PFP::MAP& map, MeshTablesSurface<PFP>& mts) bool importMeshSAsV(typename PFP::MAP& map, MeshTablesSurface<PFP>& mts)
{ {
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
unsigned nbf = mts.getNbFaces(); unsigned nbf = mts.getNbFaces();
int index = 0; int index = 0;
...@@ -273,7 +273,7 @@ namespace Import ...@@ -273,7 +273,7 @@ namespace Import
template <typename PFP> template <typename PFP>
bool importMeshSToV(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<PFP>& mts, float dist) bool importMeshSToV(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<PFP>& mts, float dist)
{ {
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
unsigned nbf = mts.getNbFaces(); unsigned nbf = mts.getNbFaces();
int index = 0; int index = 0;
// buffer for tempo faces (used to remove degenerated edges) // buffer for tempo faces (used to remove degenerated edges)
...@@ -379,7 +379,7 @@ bool importMeshSToV(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<P ...@@ -379,7 +379,7 @@ bool importMeshSToV(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<P
template <typename PFP> template <typename PFP>
bool importMeshSurfToVol(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<PFP>& mts, float scale, unsigned int nbStage) bool importMeshSurfToVol(typename PFP::MAP& map, Surface::Import::MeshTablesSurface<PFP>& mts, float scale, unsigned int nbStage)
{ {
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map);
unsigned nbf = mts.getNbFaces(); unsigned nbf = mts.getNbFaces();
int index = 0; int index = 0;
// buffer for tempo faces (used to remove degenerated edges) // buffer for tempo faces (used to remove degenerated edges)
...@@ -508,7 +508,7 @@ bool importMeshSurfToVol(typename PFP::MAP& map, Surface::Import::MeshTablesSurf ...@@ -508,7 +508,7 @@ bool importMeshSurfToVol(typename PFP::MAP& map, Surface::Import::MeshTablesSurf
template <typename PFP> template <typename PFP>
bool importMesh(typename PFP::MAP& map, MeshTablesVolume<PFP>& mtv) bool importMesh(typename PFP::MAP& map, MeshTablesVolume<PFP>& mtv)
{ {
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
return false; return false;
} }
......
...@@ -76,7 +76,7 @@ bool importNAS(typename PFP::MAP& map, const std::string& filename, std::vector< ...@@ -76,7 +76,7 @@ bool importNAS(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
//open file //open file
std::ifstream fp(filename.c_str(), std::ios::in); std::ifstream fp(filename.c_str(), std::ios::in);
......
...@@ -50,7 +50,7 @@ bool importNodeWithELERegions(typename PFP::MAP& map, const std::string& filenam ...@@ -50,7 +50,7 @@ bool importNodeWithELERegions(typename PFP::MAP& map, const std::string& filenam
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
unsigned int m_nbVertices = 0, m_nbFaces = 0, m_nbEdges = 0, m_nbVolumes = 0; unsigned int m_nbVertices = 0, m_nbFaces = 0, m_nbEdges = 0, m_nbVolumes = 0;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
//open file //open file
std::ifstream fnode(filenameNode.c_str(), std::ios::in); std::ifstream fnode(filenameNode.c_str(), std::ios::in);
......
...@@ -49,7 +49,7 @@ bool importOFFWithELERegions(typename PFP::MAP& map, const std::string& filename ...@@ -49,7 +49,7 @@ bool importOFFWithELERegions(typename PFP::MAP& map, const std::string& filename
unsigned int m_nbVertices = 0, m_nbFaces = 0, m_nbEdges = 0, m_nbVolumes = 0; unsigned int m_nbVertices = 0, m_nbFaces = 0, m_nbEdges = 0, m_nbVolumes = 0;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
// open files // open files
std::ifstream foff(filenameOFF.c_str(), std::ios::in); std::ifstream foff(filenameOFF.c_str(), std::ios::in);
......
...@@ -673,9 +673,9 @@ bool OBJModel<PFP>::import( const std::string& filename, std::vector<std::string ...@@ -673,9 +673,9 @@ bool OBJModel<PFP>::import( const std::string& filename, std::vector<std::string
localIndices.reserve(64*3); localIndices.reserve(64*3);
FunctorInitEmb<typename PFP::MAP, VERTEX> fsetemb(m_map); FunctorInitEmb<typename PFP::MAP, VERTEX> fsetemb(m_map);
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(m_map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(m_map, "incidents");
VertexAutoAttribute< NoMathIONameAttribute< std::vector<unsigned int> > > vecNormIndPerVertex(m_map, "incidentsN"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<unsigned int> > > vecNormIndPerVertex(m_map, "incidentsN");
VertexAutoAttribute< NoMathIONameAttribute< std::vector<unsigned int> > > vecTCIndPerVertex(m_map, "incidentsTC"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<unsigned int> > > vecTCIndPerVertex(m_map, "incidentsTC");
unsigned int currentGroup = 0; unsigned int currentGroup = 0;
......
...@@ -314,8 +314,8 @@ bool importSVG(typename PFP::MAP& map, const std::string& filename, VertexAttrib ...@@ -314,8 +314,8 @@ bool importSVG(typename PFP::MAP& map, const std::string& filename, VertexAttrib
CellMarker<EDGE> brokenMark(map); CellMarker<EDGE> brokenMark(map);
EdgeAttribute<float> edgeWidth = map.template addAttribute<float, EDGE>("width"); EdgeAttribute<float> edgeWidth = map.template addAttribute<float, EDGE>("width");
EdgeAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> > > edgePlanes = map.template addAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> >, EDGE>("planes"); // EdgeAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> > > edgePlanes = map.template addAttribute<NoMathAttribute<Geom::Plane3D<typename PFP::REAL> >, EDGE>("planes");
EdgeAttribute<NoTypeNameAttribute<Geom::Plane3D<typename PFP::REAL> > > edgePlanes = map.template addAttribute<NoTypeNameAttribute<Geom::Plane3D<typename PFP::REAL> >, EDGE>("planes");
///////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////
//create broken lines //create broken lines
DartMarker brokenL(map); DartMarker brokenL(map);
......
...@@ -49,7 +49,7 @@ bool importTet(typename PFP::MAP& map, const std::string& filename, std::vector< ...@@ -49,7 +49,7 @@ bool importTet(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
unsigned int m_nbVertices = 0, m_nbVolumes = 0; unsigned int m_nbVertices = 0, m_nbVolumes = 0;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
//open file //open file
std::ifstream fp(filename.c_str(), std::ios::in); std::ifstream fp(filename.c_str(), std::ios::in);
......
...@@ -54,7 +54,7 @@ bool importTs(typename PFP::MAP& map, const std::string& filename, std::vector<s ...@@ -54,7 +54,7 @@ bool importTs(typename PFP::MAP& map, const std::string& filename, std::vector<s
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
unsigned int m_nbVertices = 0, m_nbVolumes = 0; unsigned int m_nbVertices = 0, m_nbVolumes = 0;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
// open file // open file
std::ifstream fp(filename.c_str(), std::ios::in); std::ifstream fp(filename.c_str(), std::ios::in);
......
...@@ -48,7 +48,7 @@ bool importVBGZ(typename PFP::MAP& map, const std::string& filename, std::vector ...@@ -48,7 +48,7 @@ bool importVBGZ(typename PFP::MAP& map, const std::string& filename, std::vector
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
//open file //open file
igzstream fs(filename.c_str(), std::ios::in|std::ios::binary); igzstream fs(filename.c_str(), std::ios::in|std::ios::binary);
......
...@@ -53,7 +53,7 @@ bool importVTU(typename PFP::MAP& map, const std::string& filename, std::vector< ...@@ -53,7 +53,7 @@ bool importVTU(typename PFP::MAP& map, const std::string& filename, std::vector<
AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ; AttributeContainer& container = map.template getAttributeContainer<VERTEX>() ;
VertexAutoAttribute< NoMathIONameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents"); VertexAutoAttribute< NoTypeNameAttribute< std::vector<Dart> > > vecDartsPerVertex(map, "incidents");
xmlDocPtr doc = xmlReadFile(filename.c_str(), NULL, 0); xmlDocPtr doc = xmlReadFile(filename.c_str(), NULL, 0);
xmlNodePtr vtu_node = xmlDocGetRootElement(doc); xmlNodePtr vtu_node = xmlDocGetRootElement(doc);
......
...@@ -58,7 +58,7 @@ protected: ...@@ -58,7 +58,7 @@ protected:
// multiset typedef for simple writing // multiset typedef for simple writing
typedef std::multiset< VertexPoly,VertexPoly> VPMS; typedef std::multiset< VertexPoly,VertexPoly> VPMS;
typedef typename VPMS::iterator VMPSITER; typedef typename VPMS::iterator VMPSITER;
typedef NoMathIONameAttribute<VMPSITER> EarAttr ; typedef NoTypeNameAttribute<VMPSITER> EarAttr ;
class VertexPoly class VertexPoly
{ {
......
...@@ -436,7 +436,7 @@ protected: ...@@ -436,7 +436,7 @@ protected:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "DijkstraVertexInfo" ; } static std::string CGoGNnameOfType() { return "DijkstraVertexInfo" ; }
} DijkstraVertexInfo ; } DijkstraVertexInfo ;
typedef NoMathIOAttribute<DijkstraVertexInfo> VertexInfo ; typedef NoTypeNameAttribute<DijkstraVertexInfo> VertexInfo ;
VertexAttribute<VertexInfo> vertexInfo ; VertexAttribute<VertexInfo> vertexInfo ;
...@@ -483,7 +483,7 @@ protected: ...@@ -483,7 +483,7 @@ protected:
bool valid ; bool valid ;
static std::string CGoGNnameOfType() { return "DijkstraVertexInfo" ; } static std::string CGoGNnameOfType() { return "DijkstraVertexInfo" ; }
} DijkstraVertexInfo ; } DijkstraVertexInfo ;
typedef NoMathIOAttribute<DijkstraVertexInfo> VertexInfo ; typedef NoTypeNameAttribute<DijkstraVertexInfo> VertexInfo ;
VertexAttribute<VertexInfo> vertexInfo ; VertexAttribute<VertexInfo> vertexInfo ;
......
...@@ -404,112 +404,13 @@ public: ...@@ -404,112 +404,13 @@ public:
template <typename T> template <typename T>
void setData(unsigned int attrIndex, unsigned int eltIndex, const T& data); void setData(unsigned int attrIndex, unsigned int eltIndex, const T& data);
/**************************************
* ARITHMETIC OPERATIONS *
**************************************/
/**
* Toggle an attribute to process
* @param index index of attribute
*/
void toggleProcess(unsigned int index);
/**
* Toggle an attribute to process
* @param index index of attribute
*/
void toggleNoProcess(unsigned int index);
/**
* copy process attributes of line j in line i
* @param i line to modify
* @param j line to copy to i
*/
void affect(unsigned int i, unsigned int j);
/**
* add process attributes of line j to line i
* @param i line to modify
* @param j line to add to i
*/
void add(unsigned int i, unsigned int j);
/**
* sub process attributes of line j from line i
* @param i line to modify
* @param j line to sub from i
*/
void sub(unsigned int i, unsigned int j);
/**
* multiy process attributes of line j by a scalar
* @param i line to multiply
* @param alpha scalar
*/
void mult(unsigned int i, double alpha);
/**
* multiy process attributes of line j by a scalar
* @param i line to multiply
* @param alpha scalar
*/
void div(unsigned int i, double alpha);
/**
* interpole process attributes A_res = alpha*A_i + (1-alpha)*A_j
* @param res result line
* @param i first line
* @param j second line
* @param alpha coefficient of interpolation
*/
void lerp(unsigned res, unsigned int i, unsigned int j, double alpha);
/************************************** /**************************************
* SAVE & LOAD * * SAVE & LOAD *
**************************************/ **************************************/