All pastes #618057 Raw Edit

Dorth

public cpp v1 · immutable
·published 2007-07-13 18:36 UTC
rendered paste body
f32 GetHeight(IMesh* Mesh){	f32 HighestPoint;	f32 LowestPoint;	for (u32 i = 0; i < Mesh->getMeshBufferCount(); i++)	{		u32 j;		S3DVertex* VertStart;		S3DVertexTangents* VertTStart;		S3DVertex2TCoords* Vert2TStart;		switch (Mesh->getMeshBuffer(i)->getVertexType())		{			case EVT_STANDARD:			{				VertStart = (S3DVertex*)Mesh->getMeshBuffer(i)->getVertices();				for (j = 0; j < Mesh->getMeshBuffer(i)->getVertexCount(); j++)				{					if (VertStart[j].Pos.Y > HighestPoint)					{						HighestPoint = VertStart[j].Pos.Y;					}					if (VertStart[j].Pos.Y < LowestPoint)					{						LowestPoint = VertStart[j].Pos.Y;					}				}				break;			}			case EVT_2TCOORDS:			{				VertTStart = (S3DVertexTangents*)Mesh->getMeshBuffer(i)->getVertices();				for (j = 0; j < Mesh->getMeshBuffer(i)->getVertexCount(); j++)				{					if (VertStart[j].Pos.Y > HighestPoint)					{						HighestPoint = VertStart[j].Pos.Y;					}					if (VertStart[j].Pos.Y < LowestPoint)					{						LowestPoint = VertStart[j].Pos.Y;					}				}				break;			}			case EVT_TANGENTS:			{				Vert2TStart = (S3DVertex2TCoords*)Mesh->getMeshBuffer(i)->getVertices();				for (j = 0; j < Mesh->getMeshBuffer(i)->getVertexCount(); j++)				{					if (VertStart[j].Pos.Y > HighestPoint)					{						HighestPoint = VertStart[j].Pos.Y;					}					if (VertStart[j].Pos.Y < LowestPoint)					{						LowestPoint = VertStart[j].Pos.Y;					}				}				break;			}		}	}	return HighestPoint - LowestPoint;}