1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "fsITexturedMeshRenderData.h"


fsBool fsITexturedMeshRenderData::meshSet(const fsSPolyInfo& pMesh)
{
	if (!meshValidGet(pMesh))
	{
		return false;
	}

	mMesh = pMesh;
	meshSetDo(mMesh);
	return true;
}

const fsIRenderData::fsSPolyInfo& fsITexturedMeshRenderData::meshGet() const
{
	return mMesh;
}

fsBool fsITexturedMeshRenderData::meshValidGet(const fsSPolyInfo& pMesh)
{
	if (pMesh.mTriangles.size() % 3 != 0)
	{
		return false;
	}

	for (const fsU16 index : pMesh.mTriangles)<--- Consider using std::all_of or std::none_of algorithm instead of a raw loop.
	{
		if (index >= pMesh.mTris.size())
		{
			return false;
		}
	}

	return true;
}