changed P() to cP()
This commit is contained in:
parent
4fede6a301
commit
de4b5c1d43
|
@ -22,6 +22,9 @@
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
||||||
|
Revision 1.11 2004/09/09 13:23:01 ponchio
|
||||||
|
Header guards typo
|
||||||
|
|
||||||
Revision 1.10 2004/09/09 13:01:12 ponchio
|
Revision 1.10 2004/09/09 13:01:12 ponchio
|
||||||
Linux compatible path in #include
|
Linux compatible path in #include
|
||||||
|
|
||||||
|
@ -74,16 +77,16 @@ public:
|
||||||
Border() =0;
|
Border() =0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
protected:
|
||||||
typedef typename TriMeshType::FaceType FaceType;
|
typedef typename TriMeshType::FaceType FaceType;
|
||||||
typedef typename FaceType::VertexType VertexType;
|
typedef typename FaceType::VertexType VertexType;
|
||||||
typedef typename FaceType::VertexType::CoordType CoordType;
|
typedef typename FaceType::VertexType::CoordType CoordType;
|
||||||
typedef typename TriMeshType::VertexType::ScalarType ScalarType;
|
typedef typename TriMeshType::VertexType::ScalarType ScalarType;
|
||||||
typedef vcg::face::Pos<FaceType> PosType;
|
typedef vcg::face::Pos<FaceType> PosType;
|
||||||
typedef typename LocalOptimization<TriMeshType>::HeapElem HeapElem;
|
typedef typename LocalOptimization<TriMeshType>::HeapElem HeapElem;
|
||||||
|
typedef typename LocalOptimization<TriMeshType>::HeapType HeapType;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
///the pos of collapse
|
///the pos of collapse
|
||||||
PosType pos;
|
PosType pos;
|
||||||
|
|
||||||
|
@ -116,7 +119,7 @@ public:
|
||||||
|
|
||||||
ScalarType ComputePriority()
|
ScalarType ComputePriority()
|
||||||
{
|
{
|
||||||
_priority = Distance(pos.V()->P(),pos.VFlip()->P());
|
_priority = Distance(pos.V()->cP(),pos.VFlip()->cP());
|
||||||
return _priority;
|
return _priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,23 +138,24 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void UpdateHeap(typename LocalOptimization<TriMeshType>::HeapType & h_ret)
|
void UpdateHeap(HeapType & h_ret)
|
||||||
{
|
{
|
||||||
_Imark()++;
|
_Imark()++;
|
||||||
vcg::face::VFIterator<FaceType> VFi(pos.V(1)->VFp(),pos.V(1)->VFi());
|
vcg::face::VFIterator<FaceType> vfi(pos.V(1)->VFp(),pos.V(1)->VFi());
|
||||||
while (!VFi.End())
|
while (!vfi.End())
|
||||||
{
|
{
|
||||||
for (int j=0;j<3;j++)
|
for (int j=0;j<3;j++)
|
||||||
|
if( (vfi.F()->V(vfi.I())->IsRW()) && (vfi.F()->V1(vfi.I())->IsRW()))
|
||||||
{
|
{
|
||||||
PosType p;
|
PosType p;
|
||||||
p.Set(VFi.F(),VFi.I(),VFi.f->V(VFi.z));
|
p.Set(vfi.F(),vfi.I(),vfi.f->V(vfi.z));
|
||||||
h_ret.push_back(HeapElem(new MYTYPE(p,_Imark())));
|
h_ret.push_back(HeapElem(new MYTYPE(p,_Imark())));
|
||||||
std::push_heap(h_ret.begin(),h_ret.end());
|
std::push_heap(h_ret.begin(),h_ret.end());
|
||||||
//// update the mark of the vertices
|
//// update the mark of the vertices
|
||||||
VFi.f->V(VFi.z)->IMark() = _Imark();
|
vfi.f->V(vfi.z)->IMark() = _Imark();
|
||||||
VFi.f->V( (VFi.z+1) % 3 )->IMark() = _Imark();
|
vfi.f->V( (vfi.z+1) % 3 )->IMark() = _Imark();
|
||||||
}
|
}
|
||||||
++VFi;
|
++vfi;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,7 +193,7 @@ public:
|
||||||
return _priority;
|
return _priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Init(TriMeshType&m,typename LocalOptimization<TriMeshType>::HeapType&h_ret){
|
static void Init(TriMeshType&m,HeapType&h_ret){
|
||||||
h_ret.clear();
|
h_ret.clear();
|
||||||
typename TriMeshType::FaceIterator fi;
|
typename TriMeshType::FaceIterator fi;
|
||||||
for(fi = m.face.begin(); fi != m.face.end();++fi)
|
for(fi = m.face.begin(); fi != m.face.end();++fi)
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
History
|
History
|
||||||
|
|
||||||
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
||||||
|
Revision 1.1 2004/04/05 11:56:13 cignoni
|
||||||
|
First working version!
|
||||||
|
|
||||||
Revision 1.2 2004/03/12 15:22:19 cignoni
|
Revision 1.2 2004/03/12 15:22:19 cignoni
|
||||||
Written some documentation and added to the trimes doxygen module
|
Written some documentation and added to the trimes doxygen module
|
||||||
|
|
||||||
|
@ -68,7 +71,7 @@ static void Box(ComputeMeshType &m)
|
||||||
m.bbox.SetNull();
|
m.bbox.SetNull();
|
||||||
VertexIterator vi;
|
VertexIterator vi;
|
||||||
for(vi=m.vert.begin();vi!=m.vert.end();++vi)
|
for(vi=m.vert.begin();vi!=m.vert.end();++vi)
|
||||||
if( !(*vi).IsD() ) m.bbox.Add((*vi).P());
|
if( !(*vi).IsD() ) m.bbox.Add((*vi).cP());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
History
|
History
|
||||||
|
|
||||||
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
||||||
|
Revision 1.19 2004/09/14 19:47:02 ganovelli
|
||||||
|
removed "&" in FFp
|
||||||
|
|
||||||
Revision 1.18 2004/08/25 15:15:27 ganovelli
|
Revision 1.18 2004/08/25 15:15:27 ganovelli
|
||||||
minor changes to comply gcc compiler (typename's and stuff)
|
minor changes to comply gcc compiler (typename's and stuff)
|
||||||
|
|
||||||
|
@ -1117,7 +1120,7 @@ ScalarType Perimeter() const
|
||||||
ScalarType QualityFace( ) const
|
ScalarType QualityFace( ) const
|
||||||
{
|
{
|
||||||
|
|
||||||
return Quality(V(0)->P(), V(1)->P(), V(2)->P());
|
return Quality(V(0)->cP(), V(1)->cP(), V(2)->cP());
|
||||||
/*
|
/*
|
||||||
CoordType d10 = V(1)->P() - V(0)->P();
|
CoordType d10 = V(1)->P() - V(0)->P();
|
||||||
CoordType d20 = V(2)->P() - V(0)->P();
|
CoordType d20 = V(2)->P() - V(0)->P();
|
||||||
|
|
Loading…
Reference in New Issue