Commit 70500ef4 authored by Sylvain Thery's avatar Sylvain Thery

remove remaining TVEC3

parent 93c0cf2e
......@@ -65,7 +65,7 @@ public:
*/
EdgeCrit(): m_dirty(false) {}
virtual float computeKey(typename PFP::MAP& map, typename PFP::TVEC3& posi) const = 0;
virtual float computeKey(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const = 0;
/**
* MUST BE IMPLEMENTED
......@@ -83,7 +83,7 @@ public:
* MUST BE IMPLEMENTED
* compute new vertex position: here middle of edge
*/
virtual typename PFP::VEC3 newPosition(typename PFP::MAP& map, typename PFP::TVEC3& posi) const = 0;
virtual typename PFP::VEC3 newPosition(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const = 0;
/**
......@@ -135,7 +135,7 @@ public:
this->m_dart = d;
}
float computeKey(typename PFP::MAP& map, typename PFP::TVEC3& posi) const
float computeKey(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const
{
typename PFP::VEC3 PQ = Algo::Geometry::vectorOutOfDart<PFP>(map, this->m_dart, posi);
return PQ.norm2();
......@@ -157,7 +157,7 @@ public:
* MUST BE IMPLEMENTED
* compute new vertex position: here middle of edge
*/
typename PFP::VEC3 newPosition(typename PFP::MAP& map, typename PFP::TVEC3& posi) const
typename PFP::VEC3 newPosition(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const
{
const typename PFP::VEC3& p1 = posi[this->m_dart];
const typename PFP::VEC3& p2 = posi[map.phi1(this->m_dart)];
......@@ -218,7 +218,7 @@ public:
EdgeCrit_LengthFirst(Dart d) :
EdgeCrit<PFP>() {this->m_dart = d;}
float computeKey(typename PFP::MAP& map, typename PFP::TVEC3& posi) const
float computeKey(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const
{
typename PFP::VEC3 PQ = Algo::Geometry::vectorOutOfDart<PFP>(map, this->m_dart, posi);
return PQ.norm2();
......@@ -240,7 +240,7 @@ public:
* MUST BE IMPLEMENTED
* compute new vertex position: here middle of edge
*/
typename PFP::VEC3 newPosition(typename PFP::MAP& map, typename PFP::TVEC3& posi) const
typename PFP::VEC3 newPosition(typename PFP::MAP& map, VertexAttribute<typename PFP::VEC3>& posi) const
{
const typename PFP::VEC3& p1 = posi[this->m_dart];
const typename PFP::VEC3& p2 = posi[map.phi1(this->m_dart)];
......@@ -288,7 +288,7 @@ private:
CRIT* m_crit;
typename PFP::TVEC3 m_positions;
VertexAttribute<typename PFP::VEC3> m_positions;
// map des critères (donc trié)
std::multimap<float, CRIT*> m_edgeCrit;
......
......@@ -20,7 +20,7 @@ void decimate(
typename PFP::MAP& the_map,
SelectorType s,
ApproximatorType a,
typename PFP::TVEC3& position,
VertexAttribute<typename PFP::VEC3>& position,
double nbWanted
);
// const FunctorSelect& selected = allDarts
......
......@@ -9,7 +9,7 @@ namespace DecimationVolumique
template <typename PFP>
void decimate(
typename PFP::MAP& map, SelectorType s, ApproximatorType a,
typename PFP::TVEC3& position, double nbWanted//, const FunctorSelect& selected
VertexAttribute<typename PFP::VEC3>& position, double nbWanted//, const FunctorSelect& selected
)
{
Approximator<PFP>* approximator = NULL ;
......
......@@ -55,8 +55,8 @@ public:
void setEdge(Dart d) { m_edge = d; }
OperatorType getType() {return O_CVolume;};
virtual unsigned int perform(MAP& m, typename PFP::TVEC3& position) = 0;
virtual bool canPerform(MAP &m ,Dart d, typename PFP::TVEC3& position) = 0;
virtual unsigned int perform(MAP& m, VertexAttribute<typename PFP::VEC3>& position) = 0;
virtual bool canPerform(MAP &m ,Dart d, VertexAttribute<typename PFP::VEC3>& position) = 0;
};
template <typename PFP>
......@@ -100,8 +100,8 @@ public:
{ }
OperatorType getType() { return O_CEdge; }
unsigned int perform(MAP &m, typename PFP::TVEC3& position);
bool canPerform(MAP &m ,Dart d, typename PFP::TVEC3& position);
unsigned int perform(MAP &m, VertexAttribute<typename PFP::VEC3>& position);
bool canPerform(MAP &m ,Dart d, VertexAttribute<typename PFP::VEC3>& position);
};
......
......@@ -11,7 +11,7 @@ namespace DecimationVolumique
* Collapse Edge Operator *
************************************************************************************/
template <typename PFP>
unsigned int CollapseEdgeOperator<PFP>::perform(MAP& m, typename PFP::TVEC3& position)
unsigned int CollapseEdgeOperator<PFP>::perform(MAP& m, VertexAttribute<typename PFP::VEC3>& position)
{
unsigned int nbCell = 0;
......@@ -23,7 +23,7 @@ unsigned int CollapseEdgeOperator<PFP>::perform(MAP& m, typename PFP::TVEC3& pos
}
template <typename PFP>
bool CollapseEdgeOperator<PFP>::canPerform(MAP &m ,Dart d, typename PFP::TVEC3& position)
bool CollapseEdgeOperator<PFP>::canPerform(MAP &m ,Dart d, VertexAttribute<typename PFP::VEC3>& position)
{
bool canCollapse = true;
......
......@@ -44,7 +44,7 @@ protected:
/**
*
*/
typename PFP::TVEC3& m_position ;
VertexAttribute<typename PFP::VEC3>& m_position ;
/**
*
*/
......@@ -56,7 +56,7 @@ protected:
Algo::DecimationVolumique::Approximator<PFP>* m_approximator ;
public:
Selector(MAP& m, typename PFP::TVEC3& pos) :
Selector(MAP& m, VertexAttribute<typename PFP::VEC3>& pos) :
m_map(m), m_position(pos)
{}
......@@ -123,7 +123,7 @@ protected:
public:
EdgeSelector(MAP& m, typename PFP::TVEC3& pos) :
EdgeSelector(MAP& m, VertexAttribute<typename PFP::VEC3>& pos) :
Selector<PFP>(m, pos)
{}
......@@ -168,7 +168,7 @@ private:
Dart cur;
public:
EdgeSelector_MapOrder(MAP& m, typename PFP::TVEC3& pos) :
EdgeSelector_MapOrder(MAP& m, VertexAttribute<typename PFP::VEC3>& pos) :
EdgeSelector<PFP>(m, pos)
{}
......@@ -205,7 +205,7 @@ private:
bool allSkipped ;
public:
EdgeSelector_Random(MAP& m, typename PFP::TVEC3& pos) :
EdgeSelector_Random(MAP& m, VertexAttribute<typename PFP::VEC3>& pos) :
EdgeSelector<PFP>(m, pos)
{}
......@@ -266,7 +266,7 @@ private:
public:
EdgeSelector_Length(MAP& m, typename PFP::TVEC3& pos) :
EdgeSelector_Length(MAP& m, VertexAttribute<typename PFP::VEC3>& pos) :
EdgeSelector<PFP>(m, pos)
{
edgeInfo = m.template addAttribute<EdgeInfo>(EDGE, "edgeInfo") ;
......
......@@ -38,8 +38,8 @@ namespace Geometry
{
// Normalize the average length of given attribute
template <typename PFP>
typename PFP::REAL normalizeLength(typename PFP::MAP & the_map, typename PFP::TVEC3 & m_attr, const typename PFP::REAL scale = 1.0, const FunctorSelect & good = allDarts) {
template <typename PFP, unsigned int ORBIT>
typename PFP::REAL normalizeLength(typename PFP::MAP & the_map, AttributeHandler<typename PFP::VEC3,ORBIT> & m_attr, const typename PFP::REAL scale = 1.0, const FunctorSelect & good = allDarts) {
typename PFP::REAL sum = 0 ;
int count = 0 ;
......
......@@ -35,7 +35,7 @@ namespace Geometry
{
template <typename PFP>
void statModele(typename PFP::MAP& map, const typename PFP::TVEC3& position)
void statModele(typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position)
{
int nbFaces = 0;
int nbVertex = 0;
......
......@@ -78,7 +78,7 @@ protected:
/**
* position attribute table
*/
typename PFP::TVEC3 m_positions;
VertexAttribute<typename PFP::VEC3> m_positions;
/**
* Origin of image
......
......@@ -67,7 +67,7 @@ enum { NONE, GRID, CUBE, CYLINDER, CONE, SPHERE, TORE, COMPOSED };
* @param d a dart from the vertex
*/
template <typename PFP>
void explodPolyhedron(typename PFP::MAP& map, Dart d, typename PFP::TVEC3 position);
void explodPolyhedron(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position);
......
......@@ -196,7 +196,7 @@ Dart createOctahedron(typename PFP::MAP& map)
template <typename PFP>
void explodPolyhedron(typename PFP::MAP& map, Dart d, typename PFP::TVEC3 position)
void explodPolyhedron(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position)
{
map.unsewVertexUmbrella(d);
unsigned int newFaceDegree = map.closeHole(map.phi1(d));
......
......@@ -112,7 +112,7 @@ Dart swap2To3(typename PFP::MAP& map, Dart d);
*
*/
template <typename PFP>
void swap5To4(typename PFP::MAP& the_map, Dart d, typename PFP::TVEC3& positions);
void swap5To4(typename PFP::MAP& the_map, Dart d, VertexAttribute<typename PFP::VEC3>& positions);
/************************************************************************************************
* Flip Functions *
......@@ -122,13 +122,13 @@ void swap5To4(typename PFP::MAP& the_map, Dart d, typename PFP::TVEC3& positions
*
*/
template <typename PFP>
void flip1To4(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& position);
void flip1To4(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position);
/**
*
*/
template <typename PFP>
void edgeBisection(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& position);
void edgeBisection(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position);
} // namespace Tetrahedralization
......
......@@ -423,7 +423,7 @@ Dart swap2To3(typename PFP::MAP& map, Dart d)
}
template <typename PFP>
void swap5To4(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& positions)
void swap5To4(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& positions)
{
......@@ -434,7 +434,7 @@ void swap5To4(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& positions)
************************************************************************************************/
template <typename PFP>
void flip1To4(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& position)
void flip1To4(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position)
{
// typedef typename PFP::TVEC3 TVEC3;
// typedef typename PFP::VEC3 VEC3;
......@@ -520,7 +520,7 @@ void flip1To4(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& position)
************************************************************************************************/
template <typename PFP>
void edgeBisection(typename PFP::MAP& map, Dart d, typename PFP::TVEC3& position)
void edgeBisection(typename PFP::MAP& map, Dart d, VertexAttribute<typename PFP::VEC3>& position)
{
//coupe l'arete en 2
Dart f = map.phi1(d);
......
......@@ -68,11 +68,13 @@ public:
* @param colorPerFace attribute of color (per face, or per vertex per face)
* @param good selector
*/
template<typename PFP>
void updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboColor, typename PFP::MAP& map, const typename PFP::TVEC3& positions, const typename PFP::TVEC3& colorPerFace, const FunctorSelect& good = allDarts) ;
template<typename PFP, unsigned int ORBIT>
void updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboColor, typename PFP::MAP& map,
const VertexAttribute<typename PFP::VEC3>& positions, const AttributeHandler<typename PFP::VEC3, ORBIT>& colorPerXXX, const FunctorSelect& good = allDarts) ;
template<typename PFP>
void updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboNormals, Utils::VBO& vboColor, typename PFP::MAP& map, const typename PFP::TVEC3& positions, const typename PFP::TVEC3& normals, const typename PFP::TVEC3& colorPerFace, const FunctorSelect& good = allDarts) ;
template<typename PFP, unsigned int ORBIT>
void updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboNormals, Utils::VBO& vboColor, typename PFP::MAP& map,
constVertexAttribute<typename PFP::VEC3>& positions, const VertexAttribute<typename PFP::VEC3>& normals, const AttributeHandler<typename PFP::VEC3, ORBIT>& colorPerXXX, const FunctorSelect& good = allDarts) ;
/**
......
......@@ -49,8 +49,9 @@ m_nbTris(0)
template<typename PFP>
void ColorPerFaceRender::updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboColor, typename PFP::MAP& map, const typename PFP::TVEC3& positions,const typename PFP::TVEC3& colorPerXXX, const FunctorSelect& good)
template<typename PFP, unsigned int ORBIT>
void ColorPerFaceRender::updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboColor, typename PFP::MAP& map,
const VertexAttribute<typename PFP::VEC3>& positions, const AttributeHandler<typename PFP::VEC3, ORBIT>& colorPerXXX, const FunctorSelect& good)
{
typedef typename PFP::VEC3 VEC3;
typedef typename PFP::REAL REAL;
......@@ -98,8 +99,9 @@ void ColorPerFaceRender::updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboColor
}
template<typename PFP>
void ColorPerFaceRender::updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboNormal, Utils::VBO& vboColor, typename PFP::MAP& map, const typename PFP::TVEC3& positions, const typename PFP::TVEC3& normals, const typename PFP::TVEC3& colorPerXXX, const FunctorSelect& good)
template<typename PFP, unsigned int ORBIT>
void ColorPerFaceRender::updateVBO(Utils::VBO& vboPosition, Utils::VBO& vboNormal, Utils::VBO& vboColor, typename PFP::MAP& map,
const VertexAttribute<typename PFP::VEC3>& positions, const VertexAttribute<typename PFP::VEC3>& normals, const AttributeHandler<typename PFP::VEC3, ORBIT>& colorPerXXX, const FunctorSelect& good)
{
typedef typename PFP::VEC3 VEC3;
typedef typename PFP::REAL REAL;
......
......@@ -56,7 +56,7 @@ void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const Verte
* @warning no depth ordering
*/
template <typename PFP>
void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const typename PFP::TVEC3& color, const FunctorSelect& good=allDarts, unsigned int thread=0);
void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const VertexAttribute<typename PFP::VEC3>& color, const FunctorSelect& good=allDarts, unsigned int thread=0);
/**
* render edges in a SVGOut
......@@ -70,7 +70,7 @@ void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAt
* @warning no depth ordering
*/
template <typename PFP>
void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const typename PFP::TVEC3& color, const FunctorSelect& good=allDarts, unsigned int thread=0);
void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const VertexAttribute<typename PFP::VEC3>& color, const FunctorSelect& good=allDarts, unsigned int thread=0);
} // namespace SVG
......
......@@ -45,7 +45,7 @@ void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const Verte
}
template <typename PFP>
void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const typename PFP::TVEC3& color, const FunctorSelect& good, unsigned int thread)
void renderVertices(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const VertexAttribute<typename PFP::VEC3>& color, const FunctorSelect& good, unsigned int thread)
{
TraversorV<typename PFP::MAP> trac(map, good);
svg.beginPoints();
......@@ -65,7 +65,7 @@ void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAt
}
template <typename PFP>
void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const typename PFP::TVEC3& color, const FunctorSelect& good, unsigned int thread)
void renderEdges(Utils::SVG::SVGOut& svg, typename PFP::MAP& map, const VertexAttribute<typename PFP::VEC3>& position, const VertexAttribute<typename PFP::VEC3>& color, const FunctorSelect& good, unsigned int thread)
{
TraversorE<typename PFP::MAP> trac(map, good);
svg.beginLines();
......
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