diff options
Diffstat (limited to 'indra/llmath')
| -rw-r--r-- | indra/llmath/llvolume.cpp | 14 | ||||
| -rw-r--r-- | indra/llmath/llvolume.h | 2 | 
2 files changed, 13 insertions, 3 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 1a95f9cd46..da0fa32963 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -4305,15 +4305,25 @@ S32 LLVolume::getNumTriangleIndices() const  } -S32 LLVolume::getNumTriangles() const +S32 LLVolume::getNumTriangles(S32* vcount) const  {  	U32 triangle_count = 0; +	U32 vertex_count = 0;  	for (S32 i = 0; i < getNumVolumeFaces(); ++i)  	{ -		triangle_count += getVolumeFace(i).mNumIndices/3; +		const LLVolumeFace& face = getVolumeFace(i); +		triangle_count += face.mNumIndices/3; + +		vertex_count += face.mNumVertices;  	} + +	if (vcount) +	{ +		*vcount = vertex_count; +	} +	  	return triangle_count;  } diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index f0e59a3c00..afd1ec5eed 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -990,7 +990,7 @@ public:  	S32 getNumTriangleIndices() const;  	static void getLoDTriangleCounts(const LLVolumeParams& params, S32* counts); -	S32 getNumTriangles() const; +	S32 getNumTriangles(S32* vcount = NULL) const;  	void generateSilhouetteVertices(std::vector<LLVector3> &vertices,   									std::vector<LLVector3> &normals,   | 
