Corrected bug in the management of ocf curvature components
This commit is contained in:
parent
25dd36a704
commit
19c4510a33
|
@ -114,6 +114,8 @@ public:
|
||||||
NormalEnabled=false;
|
NormalEnabled=false;
|
||||||
VFAdjacencyEnabled=false;
|
VFAdjacencyEnabled=false;
|
||||||
CurvatureEnabled = false;
|
CurvatureEnabled = false;
|
||||||
|
CurvatureEnabled= false;
|
||||||
|
CurvatureDirEnabled= false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// override di tutte le funzioni che possono spostare
|
// override di tutte le funzioni che possono spostare
|
||||||
|
@ -126,6 +128,8 @@ public:
|
||||||
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());
|
||||||
if (VFAdjacencyEnabled) AV.push_back(VFAdjType());
|
if (VFAdjacencyEnabled) AV.push_back(VFAdjType());
|
||||||
|
if (CurvatureEnabled) CuV.push_back(typename VALUE_TYPE::CurvatureType());
|
||||||
|
if (CurvatureDirEnabled) CuDV.push_back(typename VALUE_TYPE::CurvatureDirType());
|
||||||
}
|
}
|
||||||
void pop_back();
|
void pop_back();
|
||||||
void resize(const unsigned int & _size)
|
void resize(const unsigned int & _size)
|
||||||
|
@ -141,17 +145,19 @@ public:
|
||||||
if (MarkEnabled) MV.resize(_size);
|
if (MarkEnabled) MV.resize(_size);
|
||||||
if (NormalEnabled) NV.resize(_size);
|
if (NormalEnabled) NV.resize(_size);
|
||||||
if (VFAdjacencyEnabled) AV.resize(_size);
|
if (VFAdjacencyEnabled) AV.resize(_size);
|
||||||
|
if (CurvatureEnabled) CuV.resize(_size);
|
||||||
|
if (CurvatureDirEnabled) CuDV.resize(_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void reserve(const unsigned int & _size)
|
void reserve(const unsigned int & _size)
|
||||||
{
|
{
|
||||||
BaseType::reserve(_size);
|
BaseType::reserve(_size);
|
||||||
if (ColorEnabled) CV.reserve(_size);
|
if (ColorEnabled) CV.reserve(_size);
|
||||||
if (MarkEnabled) MV.reserve(_size);
|
if (MarkEnabled) MV.reserve(_size);
|
||||||
if (NormalEnabled) NV.reserve(_size);
|
if (NormalEnabled) NV.reserve(_size);
|
||||||
if (VFAdjacencyEnabled) AV.reserve(_size);
|
if (VFAdjacencyEnabled) AV.reserve(_size);
|
||||||
|
if (CurvatureEnabled) CuV.reserve(_size);
|
||||||
|
if (CurvatureDirEnabled) CuDV.reserve(_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateOVP(ThisTypeIterator lbegin, ThisTypeIterator lend)
|
void _updateOVP(ThisTypeIterator lbegin, ThisTypeIterator lend)
|
||||||
|
@ -170,24 +176,29 @@ void ReorderVert(std::vector<size_t> &newVertIndex )
|
||||||
if (MarkEnabled) assert( MV.size() == newVertIndex.size() );
|
if (MarkEnabled) assert( MV.size() == newVertIndex.size() );
|
||||||
if (NormalEnabled) assert( NV.size() == newVertIndex.size() );
|
if (NormalEnabled) assert( NV.size() == newVertIndex.size() );
|
||||||
if (VFAdjacencyEnabled) assert( AV.size() == newVertIndex.size() );
|
if (VFAdjacencyEnabled) assert( AV.size() == newVertIndex.size() );
|
||||||
|
if (CurvatureEnabled) assert(CuV.size() == newVertIndex.size() );
|
||||||
|
if (CurvatureDirEnabled)assert(CuDV.size() == newVertIndex.size() );
|
||||||
|
|
||||||
for(i=0;i<newVertIndex.size();++i)
|
for(i=0;i<newVertIndex.size();++i)
|
||||||
{
|
{
|
||||||
if(newVertIndex[i] != std::numeric_limits<size_t>::max() )
|
if(newVertIndex[i] != std::numeric_limits<size_t>::max() )
|
||||||
{
|
{
|
||||||
assert(newVertIndex[i] <= i);
|
assert(newVertIndex[i] <= i);
|
||||||
if (ColorEnabled) CV[newVertIndex[i]] = CV[i];
|
if (ColorEnabled) CV[newVertIndex[i]] = CV[i];
|
||||||
if (MarkEnabled) MV[newVertIndex[i]] = MV[i];
|
if (MarkEnabled) MV[newVertIndex[i]] = MV[i];
|
||||||
if (NormalEnabled) NV[newVertIndex[i]] = NV[i];
|
if (NormalEnabled) NV[newVertIndex[i]] = NV[i];
|
||||||
if (VFAdjacencyEnabled) AV[newVertIndex[i]] = AV[i];
|
if (VFAdjacencyEnabled) AV[newVertIndex[i]] = AV[i];
|
||||||
|
if (CurvatureEnabled) CuV[newVertIndex[i]] = CuV[i];
|
||||||
|
if (CurvatureDirEnabled) CuDV[newVertIndex[i]] =CuDV[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ColorEnabled) CV.resize(BaseType::size());
|
if (ColorEnabled) CV.resize(BaseType::size());
|
||||||
if (MarkEnabled) MV.resize(BaseType::size());
|
if (MarkEnabled) MV.resize(BaseType::size());
|
||||||
if (NormalEnabled) NV.resize(BaseType::size());
|
if (NormalEnabled) NV.resize(BaseType::size());
|
||||||
if (VFAdjacencyEnabled) AV.resize(BaseType::size());
|
if (VFAdjacencyEnabled) AV.resize(BaseType::size());
|
||||||
|
if (CurvatureEnabled) CuV.resize(BaseType::size());
|
||||||
|
if (CurvatureDirEnabled) CuDV.resize(BaseType::size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue