3template<int vertexCount, int triangleCount>
4TriangleGroup<vertexCount, triangleCount>::TriangleGroup(IStaticTriangleGroup* staticTriangleGroup) {
5 indexGroup = staticTriangleGroup->GetIndexGroup();
7 if (staticTriangleGroup->HasUV()) {
8 this->hasUV = staticTriangleGroup->HasUV();
10 uvVertices = staticTriangleGroup->GetUVVertices();
11 uvIndexGroup = staticTriangleGroup->GetUVIndexGroup();
14 for (int i = 0; i < vertexCount; i++) {
15 vertices[i] = staticTriangleGroup->GetVertices()[i];
18 for (int i = 0; i < triangleCount; i++) {
19 triangles[i].p1 = &vertices[indexGroup[i].A];
20 triangles[i].p2 = &vertices[indexGroup[i].B];
21 triangles[i].p3 = &vertices[indexGroup[i].C];
23 if (staticTriangleGroup->HasUV()) {
24 triangles[i].p1UV = &uvVertices[uvIndexGroup[i].A];
25 triangles[i].p2UV = &uvVertices[uvIndexGroup[i].B];
26 triangles[i].p3UV = &uvVertices[uvIndexGroup[i].C];
28 triangles[i].hasUV = true;
33template<int vertexCount, int triangleCount>
34const IndexGroup* TriangleGroup<vertexCount, triangleCount>::GetIndexGroup() {
38template<int vertexCount, int triangleCount>
39int TriangleGroup<vertexCount, triangleCount>::GetTriangleCount() {
43template<int vertexCount, int triangleCount>
44Vector3D* TriangleGroup<vertexCount, triangleCount>::GetVertices() {
48template<int vertexCount, int triangleCount>
49int TriangleGroup<vertexCount, triangleCount>::GetVertexCount() {
53template<int vertexCount, int triangleCount>
54Triangle3D* TriangleGroup<vertexCount, triangleCount>::GetTriangles() {
58template<int vertexCount, int triangleCount>
59const Vector2D* TriangleGroup<vertexCount, triangleCount>::GetUVVertices() {
63template<int vertexCount, int triangleCount>
64const IndexGroup* TriangleGroup<vertexCount, triangleCount>::GetUVIndexGroup() {