Added ComputePerFaceQualityMinMax()
This commit is contained in:
parent
d7920e1cc4
commit
de8504ba3e
|
@ -56,31 +56,45 @@ template <class StatMeshType>
|
||||||
class Stat
|
class Stat
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef StatMeshType MeshType;
|
typedef StatMeshType MeshType;
|
||||||
typedef typename MeshType::VertexType VertexType;
|
typedef typename MeshType::VertexType VertexType;
|
||||||
typedef typename MeshType::VertexPointer VertexPointer;
|
typedef typename MeshType::VertexPointer VertexPointer;
|
||||||
typedef typename MeshType::VertexIterator VertexIterator;
|
typedef typename MeshType::VertexIterator VertexIterator;
|
||||||
typedef typename MeshType::ScalarType ScalarType;
|
typedef typename MeshType::ScalarType ScalarType;
|
||||||
typedef typename MeshType::FaceType FaceType;
|
typedef typename MeshType::FaceType FaceType;
|
||||||
typedef typename MeshType::FacePointer FacePointer;
|
typedef typename MeshType::FacePointer FacePointer;
|
||||||
typedef typename MeshType::FaceIterator FaceIterator;
|
typedef typename MeshType::FaceIterator FaceIterator;
|
||||||
typedef typename MeshType::FaceContainer FaceContainer;
|
typedef typename MeshType::FaceContainer FaceContainer;
|
||||||
typedef typename vcg::Box3<ScalarType> Box3Type;
|
typedef typename vcg::Box3<ScalarType> Box3Type;
|
||||||
|
|
||||||
static std::pair<float,float> ComputePerVertexQualityMinMax( MeshType & m) // V1.0
|
static std::pair<float,float> ComputePerVertexQualityMinMax( MeshType & m) // V1.0
|
||||||
{
|
{
|
||||||
std::pair<float,float> minmax = std::make_pair(std::numeric_limits<float>::max(),-std::numeric_limits<float>::max());
|
std::pair<float,float> minmax = std::make_pair(std::numeric_limits<float>::max(),-std::numeric_limits<float>::max());
|
||||||
|
|
||||||
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())
|
if(!(*vi).IsD())
|
||||||
{
|
{
|
||||||
if( (*vi).Q() < minmax.first) minmax.first=(*vi).Q();
|
if( (*vi).Q() < minmax.first) minmax.first=(*vi).Q();
|
||||||
if( (*vi).Q() > minmax.second) minmax.second=(*vi).Q();
|
if( (*vi).Q() > minmax.second) minmax.second=(*vi).Q();
|
||||||
}
|
}
|
||||||
return minmax;
|
return minmax;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::pair<float,float> ComputePerFaceQualityMinMax( MeshType & m) // V1.0
|
||||||
|
{
|
||||||
|
std::pair<float,float> minmax = std::make_pair(std::numeric_limits<float>::max(),-std::numeric_limits<float>::max());
|
||||||
|
|
||||||
|
FaceIterator fi;
|
||||||
|
for(fi = m.face.begin(); fi != m.face.end(); ++fi)
|
||||||
|
if(!(*fi).IsD())
|
||||||
|
{
|
||||||
|
if( (*fi).Q() < minmax.first) minmax.first =(*fi).Q();
|
||||||
|
if( (*fi).Q() > minmax.second) minmax.second=(*fi).Q();
|
||||||
|
}
|
||||||
|
return minmax;
|
||||||
|
}
|
||||||
|
|
||||||
static ScalarType ComputeMeshArea(MeshType & m)
|
static ScalarType ComputeMeshArea(MeshType & m)
|
||||||
{
|
{
|
||||||
ScalarType area=0;
|
ScalarType area=0;
|
||||||
|
|
Loading…
Reference in New Issue