vesione 2005 compliant
This commit is contained in:
parent
05090aaee1
commit
a44013b865
|
@ -24,6 +24,9 @@
|
||||||
History
|
History
|
||||||
|
|
||||||
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
||||||
|
Revision 1.16 2006/10/27 14:15:10 ganovelli
|
||||||
|
added overrides to HasFFAddAdjacency and HasVFAddAdjacency
|
||||||
|
|
||||||
Revision 1.15 2006/10/16 08:49:29 cignoni
|
Revision 1.15 2006/10/16 08:49:29 cignoni
|
||||||
Better managment of resize overloading when reducing the size of a vector
|
Better managment of resize overloading when reducing the size of a vector
|
||||||
|
|
||||||
|
@ -140,12 +143,8 @@ public:
|
||||||
// l'allocazione in memoria del container
|
// l'allocazione in memoria del container
|
||||||
void push_back(const VALUE_TYPE & v)
|
void push_back(const VALUE_TYPE & v)
|
||||||
{
|
{
|
||||||
ThisTypeIterator oldbegin=(*this).begin();
|
|
||||||
ThisTypeIterator oldend=(*this).end();
|
|
||||||
BaseType::push_back(v);
|
BaseType::push_back(v);
|
||||||
if(oldbegin!=(*this).begin()) _updateOVP((*this).begin(),(*this).end());
|
BaseType::back()._ovp = this;
|
||||||
else _updateOVP(oldend, (*this).end());
|
|
||||||
|
|
||||||
if (ColorEnabled) CV.push_back(vcg::Color4b(vcg::Color4b::White));
|
if (ColorEnabled) CV.push_back(vcg::Color4b(vcg::Color4b::White));
|
||||||
if (MarkEnabled) MV.push_back(0);
|
if (MarkEnabled) MV.push_back(0);
|
||||||
if (NormalEnabled) NV.push_back(typename VALUE_TYPE::NormalType());
|
if (NormalEnabled) NV.push_back(typename VALUE_TYPE::NormalType());
|
||||||
|
@ -156,13 +155,13 @@ public:
|
||||||
void pop_back();
|
void pop_back();
|
||||||
void resize(const unsigned int & _size)
|
void resize(const unsigned int & _size)
|
||||||
{
|
{
|
||||||
ThisTypeIterator oldbegin=(*this).begin();
|
int oldsize = BaseType::size();
|
||||||
ThisTypeIterator oldend=(*this).end();
|
|
||||||
const unsigned int oldsize=(*this).size();
|
|
||||||
BaseType::resize(_size);
|
BaseType::resize(_size);
|
||||||
if(oldbegin!=(*this).begin()) _updateOVP((*this).begin(),(*this).end());
|
if(oldsize<_size){
|
||||||
else if(oldsize<_size) _updateOVP(oldend, (*this).end());
|
ThisTypeIterator firstnew = BaseType::begin();
|
||||||
|
advance(firstnew,oldsize);
|
||||||
|
_updateOVP(firstnew,(*this).end());
|
||||||
|
}
|
||||||
if (ColorEnabled) CV.resize(_size);
|
if (ColorEnabled) CV.resize(_size);
|
||||||
if (MarkEnabled) MV.resize(_size);
|
if (MarkEnabled) MV.resize(_size);
|
||||||
if (NormalEnabled) NV.resize(_size);
|
if (NormalEnabled) NV.resize(_size);
|
||||||
|
|
|
@ -24,6 +24,11 @@
|
||||||
History
|
History
|
||||||
|
|
||||||
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
||||||
|
Revision 1.3 2006/02/28 11:59:55 ponchio
|
||||||
|
g++ compliance:
|
||||||
|
|
||||||
|
begin() -> (*this).begin() and for end(), size(), Base(), Index()
|
||||||
|
|
||||||
Revision 1.2 2005/12/12 11:17:32 cignoni
|
Revision 1.2 2005/12/12 11:17:32 cignoni
|
||||||
Corrected update function, now only the needed simplexes should be updated.
|
Corrected update function, now only the needed simplexes should be updated.
|
||||||
|
|
||||||
|
@ -70,38 +75,33 @@ public:
|
||||||
// l'allocazione in memoria del container
|
// l'allocazione in memoria del container
|
||||||
void push_back(const VALUE_TYPE & v)
|
void push_back(const VALUE_TYPE & v)
|
||||||
{
|
{
|
||||||
ThisTypeIterator oldbegin=(*this).begin();
|
|
||||||
ThisTypeIterator oldend=(*this).end();
|
|
||||||
BaseType::push_back(v);
|
BaseType::push_back(v);
|
||||||
if(oldbegin!=(*this).begin()) _updateOVP((*this).begin(),(*this).end());
|
BaseType::back()._ovp = this;
|
||||||
else _updateOVP(oldend, (*this).end());
|
|
||||||
}
|
}
|
||||||
void pop_back();
|
void pop_back();
|
||||||
void resize(const unsigned int & _size)
|
void resize(const unsigned int & _size)
|
||||||
{
|
{
|
||||||
ThisTypeIterator oldbegin=(*this).begin();
|
int oldsize = BaseType::size();
|
||||||
ThisTypeIterator oldend=(*this).end();
|
|
||||||
BaseType::resize(_size);
|
BaseType::resize(_size);
|
||||||
if(oldbegin!=(*this).begin()) _updateOVP((*this).begin(),(*this).end());
|
if(oldsize<_size){
|
||||||
else _updateOVP(oldend, (*this).end());
|
ThisTypeIterator firstnew = BaseType::begin();
|
||||||
if(ColorEnabled) CV.resize(_size);
|
advance(firstnew,oldsize);
|
||||||
|
_updateOVP(firstnew,(*this).end());
|
||||||
|
}
|
||||||
|
if(ColorEnabled) CV.resize(_size);
|
||||||
if(NormalEnabled) NV.resize(_size);
|
if(NormalEnabled) NV.resize(_size);
|
||||||
|
|
||||||
}
|
}
|
||||||
void reserve(const unsigned int & _size)
|
void reserve(const unsigned int & _size)
|
||||||
{
|
{
|
||||||
ThisTypeIterator oldbegin=(*this).begin();
|
|
||||||
BaseType::reserve(_size);
|
BaseType::reserve(_size);
|
||||||
if (ColorEnabled) CV.reserve(_size);
|
if (ColorEnabled) CV.reserve(_size);
|
||||||
if (NormalEnabled) NV.reserve(_size);
|
if (NormalEnabled) NV.reserve(_size);
|
||||||
if(oldbegin!=(*this).begin()) _updateOVP((*this).begin(),(*this).end());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateOVP(ThisTypeIterator lbegin, ThisTypeIterator lend)
|
void _updateOVP(ThisTypeIterator lbegin, ThisTypeIterator lend)
|
||||||
{
|
{
|
||||||
ThisTypeIterator vi;
|
ThisTypeIterator vi;
|
||||||
for(vi=lbegin;vi!=lend;++vi)
|
for(vi=lbegin;vi!=lend;++vi)
|
||||||
//for(vi=(*this).begin();vi!=(*this).end();++vi)
|
|
||||||
(*vi)._ovp=this;
|
(*vi)._ovp=this;
|
||||||
}
|
}
|
||||||
////////////////////////////////////////
|
////////////////////////////////////////
|
||||||
|
|
Loading…
Reference in New Issue