27 int numtotalphysicsverts = 0;
29 const unsigned char* vertexbase;
30 const unsigned char* indexbase;
34 int stride, numverts, numtriangles;
41 for (part = 0; part < graphicssubparts; part++)
44 numtotalphysicsverts += numtriangles * 3;
60 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
62 unsigned int* tri_indices = (
unsigned int*)(indexbase + gfxindex * indexstride);
63 graphicsbase = (
float*)(vertexbase + tri_indices[0] * stride);
64 triangle[0].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
65 graphicsbase = (
float*)(vertexbase + tri_indices[1] * stride);
66 triangle[1].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
67 graphicsbase = (
float*)(vertexbase + tri_indices[2] * stride);
68 triangle[2].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
75 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
77 unsigned short int* tri_indices = (
unsigned short int*)(indexbase + gfxindex * indexstride);
78 graphicsbase = (
float*)(vertexbase + tri_indices[0] * stride);
79 triangle[0].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
80 graphicsbase = (
float*)(vertexbase + tri_indices[1] * stride);
81 triangle[1].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
82 graphicsbase = (
float*)(vertexbase + tri_indices[2] * stride);
83 triangle[2].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
90 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
92 unsigned char* tri_indices = (
unsigned char*)(indexbase + gfxindex * indexstride);
93 graphicsbase = (
float*)(vertexbase + tri_indices[0] * stride);
94 triangle[0].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
95 graphicsbase = (
float*)(vertexbase + tri_indices[1] * stride);
96 triangle[1].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
97 graphicsbase = (
float*)(vertexbase + tri_indices[2] * stride);
98 triangle[2].
setValue(graphicsbase[0] * meshScaling.
getX(), graphicsbase[1] * meshScaling.
getY(), graphicsbase[2] * meshScaling.
getZ());
111 double* graphicsbase;
113 switch (gfxindextype)
117 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
119 unsigned int* tri_indices = (
unsigned int*)(indexbase + gfxindex * indexstride);
120 graphicsbase = (
double*)(vertexbase + tri_indices[0] * stride);
122 graphicsbase = (
double*)(vertexbase + tri_indices[1] * stride);
124 graphicsbase = (
double*)(vertexbase + tri_indices[2] * stride);
132 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
134 unsigned short int* tri_indices = (
unsigned short int*)(indexbase + gfxindex * indexstride);
135 graphicsbase = (
double*)(vertexbase + tri_indices[0] * stride);
137 graphicsbase = (
double*)(vertexbase + tri_indices[1] * stride);
139 graphicsbase = (
double*)(vertexbase + tri_indices[2] * stride);
147 for (gfxindex = 0; gfxindex < numtriangles; gfxindex++)
149 unsigned char* tri_indices = (
unsigned char*)(indexbase + gfxindex * indexstride);
150 graphicsbase = (
double*)(vertexbase + tri_indices[0] * stride);
152 graphicsbase = (
double*)(vertexbase + tri_indices[1] * stride);
154 graphicsbase = (
double*)(vertexbase + tri_indices[2] * stride);