diff --git a/include/IndexedSurfacePatch.h b/include/IndexedSurfacePatch.h index e26d7aa3..1a448872 100644 --- a/include/IndexedSurfacePatch.h +++ b/include/IndexedSurfacePatch.h @@ -45,6 +45,8 @@ namespace PolyVox const std::vector& getVertices(void) const; std::vector& getVertices(void); //FIXME - non const version should be removed. const std::vector& getIndices(void) const; + + unsigned short getNoNonUniformTrianges(void); public: std::vector m_vecTriangleIndices; diff --git a/source/IndexedSurfacePatch.cpp b/source/IndexedSurfacePatch.cpp index ab581693..b3a72163 100644 --- a/source/IndexedSurfacePatch.cpp +++ b/source/IndexedSurfacePatch.cpp @@ -199,4 +199,21 @@ namespace PolyVox { return m_vecTriangleIndices; } + + unsigned short IndexedSurfacePatch::getNoNonUniformTrianges(void) + { + unsigned short result = 0; + for(int i = 0; i < m_vecTriangleIndices.size() - 2; i += 3) + { + if((m_vecVertices[m_vecTriangleIndices[i]].getMaterial() == m_vecVertices[m_vecTriangleIndices[i+1]].getMaterial()) + && (m_vecVertices[m_vecTriangleIndices[i]].getMaterial() == m_vecVertices[m_vecTriangleIndices[i+2]].getMaterial())) + { + } + else + { + result++; + } + } + return result; + } } diff --git a/source/SurfaceExtractors.cpp b/source/SurfaceExtractors.cpp index 16851b28..f027b1b8 100644 --- a/source/SurfaceExtractors.cpp +++ b/source/SurfaceExtractors.cpp @@ -29,7 +29,7 @@ namespace PolyVox generateRoughMeshDataForRegion(volume.getVolumeData(), *iterChangedRegions, regionGeometry.m_patchSingleMaterial, regionGeometry.m_patchMultiMaterial); - genMultiFromSingle(regionGeometry.m_patchSingleMaterial, regionGeometry.m_patchMultiMaterial); + //genMultiFromSingle(regionGeometry.m_patchSingleMaterial, regionGeometry.m_patchMultiMaterial); regionGeometry.m_bContainsSingleMaterialPatch = regionGeometry.m_patchSingleMaterial->getVertices().size() > 0; regionGeometry.m_bContainsMultiMaterialPatch = regionGeometry.m_patchMultiMaterial->getVertices().size() > 0;