69 if(!primitives || !nb_prims)
return false;
72 global_box = mAABBArray[primitives[0]];
78 global_box.Add(mAABBArray[primitives[
i]]);
95 return mAABBArray[index].GetCenter(axis);
110 if(!primitives || !nb_prims)
return false;
121 mIMesh->GetTriangle(VP, *primitives++);
152 mIMesh->GetTriangle(VP, index);
155 return ((*VP.
Vertex[0])[axis]
175 float SplitValue = 0.0f;
180 mIMesh->GetTriangle(VP, primitives[
i]);
182 SplitValue += (*VP.
Vertex[0])[axis];
183 SplitValue += (*VP.
Vertex[1])[axis];
184 SplitValue += (*VP.
Vertex[2])[axis];
186 return SplitValue / float(nb_prims*3);
203 if(!primitives || !nb_prims)
return false;
212 global_box.
Extend(mVertexArray[primitives[
i]]);
228 return mVertexArray[index][axis];
246 float SplitValue = 0.0f;
250 SplitValue += mVertexArray[primitives[
i]][axis];
252 return SplitValue / float(nb_prims);