diff --git a/vcg/complex/algorithms/polygonal_algorithms.h b/vcg/complex/algorithms/polygonal_algorithms.h index f32ba46e..6fcc2416 100644 --- a/vcg/complex/algorithms/polygonal_algorithms.h +++ b/vcg/complex/algorithms/polygonal_algorithms.h @@ -900,6 +900,49 @@ public: return MeshArea; } +// static void InitQualityVertVoronoiArea(PolyMeshType &poly_m) +// { +// for (size_t i=0;i SumAngle(poly_m.face.size(),0); +// for (size_t i=0;iQ()+=AreaF * CurrAngle/SumAngle[i]; +// } +// } +// } + static void InitQualityVertVoronoiArea(PolyMeshType &poly_m) { for (size_t i=0;iQ()+=AreaF/(ScalarType)poly_m.face[i].VN(); + { + CoordType P0=poly_m.face[i].P((j+sizeV-1)%sizeV); + CoordType P1=poly_m.face[i].P(j); + CoordType P2=poly_m.face[i].P1(j); + vcg::Triangle3 T0(P1,(P0+P1)/2,baryF); + vcg::Triangle3 T1(P1,(P1+P2)/2,baryF); + + poly_m.face[i].V(j)->Q()+=vcg::DoubleArea(T0)/2; + poly_m.face[i].V(j)->Q()+=vcg::DoubleArea(T1)/2; + } } }