/* */ }
/* */
/* 225 */ if ((vertexFormat & 0xC) == 12) {
/* 226 */ Color4f[] color = new Color4f[valid];
/* 227 */ for (int i = 0; i < valid; i++) {
/* 228 */ color[i] = new Color4f(d[(wpv * (i + initial) + offset)], d[(wpv * (i + initial) + offset + 1)], d[(wpv * (i + initial) + offset + 2)], d[(wpv * (i + initial) + offset + 3)]);
/* */ }
/* */
/* 233 */ geomInfo.setColors(color);
/* 234 */ offset += 4;
/* 235 */ } else if ((vertexFormat & 0x4) != 0) {
/* 236 */ Color3f[] color = new Color3f[valid];
/* 237 */ for (int i = 0; i < valid; i++) {
/* 238 */ color[i] = new Color3f(d[(wpv * (i + initial) + offset)], d[(wpv * (i + initial) + offset + 1)], d[(wpv * (i + initial) + offset + 2)]);
/* */ }
/* */
/* 242 */ geomInfo.setColors(color);
/* 243 */ offset += 3;
/* */ }
/* */
/* 246 */ if ((vertexFormat & 0x2) != 0) {
/* 247 */ Vector3f[] normals = new Vector3f[valid];
/* 248 */ for (int i = 0; i < valid; i++) {
/* 249 */ normals[i] = new Vector3f(d[(wpv * (i + initial) + offset)], d[(wpv * (i + initial) + offset + 1)], d[(wpv * (i + initial) + offset + 2)]);
/* */ }
/* */
/* 253 */ geomInfo.setNormals(normals);
/* 254 */ offset += 3;
/* */ }
/* */
/* 257 */ Point3f[] coords = new Point3f[valid];
/* 258 */ for (int i = 0; i < valid; i++) {
/* 259 */ coords[i] = new Point3f(d[(wpv * (i + initial) + offset)], d[(wpv * (i + initial) + offset + 1)], d[(wpv * (i + initial) + offset + 2)]);
/* */ }
/* */
/* 263 */ geomInfo.setCoordinates(coords);
/* */ }
/* */ else {
/* 266 */ boolean byRef = (vertexFormat & 0x80) != 0;
/* 267 */ boolean nio = (vertexFormat & 0x800) != 0;
/* */
/* 269 */ Point3f[] coords = null;
/* 270 */ if (byRef)
/* */ {
/* */ int initial;
/* */ int initial;
/* 273 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 274 */ initial = geomArray.getInitialCoordIndex();
/* 275 */ else initial = 0;
/* */ int i;
/* 277 */ if (nio) {
/* 278 */ J3DBuffer buf = geomArray.getCoordRefBuffer();
/* */
/* 280 */ switch (BufferWrapper.getBufferType(buf))
/* */ {
/* */ case 3:
/* 283 */ FloatBufferWrapper bb = new FloatBufferWrapper(buf);
/* 284 */ float[] c = new float[valid * 3];
/* 285 */ bb.position(initial * 3);
/* 286 */ bb.get(c, 0, valid * 3);
/* 287 */ coords = new Point3f[valid];
/* 288 */ for (i = 0; i < valid; i++) {
/* 289 */ coords[i] = new Point3f(c[(i * 3 + 0)], c[(i * 3 + 1)], c[(i * 3 + 2)]);
/* */ }
/* */
/* 294 */ break;
/* */ case 4:
/* 297 */ DoubleBufferWrapper bb = new DoubleBufferWrapper(buf);
/* 298 */ double[] c = new double[valid * 3];
/* 299 */ bb.position(initial * 3);
/* 300 */ bb.get(c, 0, valid * 3);
/* 301 */ coords = new Point3f[valid];
/* 302 */ for (i = 0; i < valid; i++) {
/* 303 */ coords[i] = new Point3f((float)c[(i * 3 + 0)], (float)c[(i * 3 + 1)], (float)c[(i * 3 + 2)]);
/* */ }
/* */
/* */ }
/* */
/* */ }
/* 310 */ else if (geomArray.getCoordRef3f() != null) {
/* 311 */ if (initial != 0) {
/* 312 */ Point3f[] c = geomArray.getCoordRef3f();
/* 313 */ coords = new Point3f[valid];
/* 314 */ for (i = 0; i < valid; i++)
/* 315 */ coords[i] = new Point3f(c[(i + initial)]);
/* */ } else {
/* 317 */ coords = geomArray.getCoordRef3f();
/* */ } } else if (geomArray.getCoordRef3d() != null) {
/* 319 */ Point3d[] c = geomArray.getCoordRef3d();
/* 320 */ coords = new Point3f[valid];
/* 321 */ for (int i = 0; i < valid; i++)
/* 322 */ coords[i] = new Point3f(c[(i + initial)]);
/* */ }
/* 324 */ else if (geomArray.getCoordRefFloat() != null) {
/* 325 */ float[] c = geomArray.getCoordRefFloat();
/* 326 */ coords = new Point3f[valid];
/* 327 */ for (int i = 0; i < valid; i++) {
/* 328 */ coords[i] = new Point3f(c[((i + initial) * 3)], c[((i + initial) * 3 + 1)], c[((i + initial) * 3 + 2)]);
/* */ }
/* */
/* */ }
/* 332 */ else if (geomArray.getCoordRefDouble() != null) {
/* 333 */ double[] c = geomArray.getCoordRefDouble();
/* 334 */ coords = new Point3f[valid];
/* 335 */ for (int i = 0; i < valid; i++)
/* 336 */ coords[i] = new Point3f((float)c[((i + initial) * 3)], (float)c[((i + initial) * 3 + 1)], (float)c[((i + initial) * 3 + 2)]);
/* */ }
/* */ }
/* */ else
/* */ {
/* */ int initial;
/* */ int initial;
/* 345 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 346 */ initial = geomArray.getInitialVertexIndex();
/* 347 */ else initial = 0;
/* 348 */ coords = new Point3f[valid];
/* 349 */ for (int i = 0; i < valid; i++) coords[i] = new Point3f();
/* 350 */ geomArray.getCoordinates(initial, coords);
/* */ }
/* 352 */ geomInfo.setCoordinates(coords);
/* */
/* 354 */ if ((vertexFormat & 0x2) != 0) {
/* 355 */ Vector3f[] normals = null;
/* 356 */ if (byRef)
/* */ {
/* */ int initial;
/* */ int initial;
/* 359 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 360 */ initial = geomArray.getInitialNormalIndex();
/* 361 */ else initial = 0;
/* */
/* 363 */ if (nio) {
/* 364 */ J3DBuffer buf = geomArray.getNormalRefBuffer();
/* */
/* 366 */ if (BufferWrapper.getBufferType(buf) == 3) {
/* 367 */ FloatBufferWrapper bb = new FloatBufferWrapper(buf);
/* 368 */ float[] c = new float[valid * 3];
/* 369 */ bb.position(initial * 3);
/* 370 */ bb.get(c, 0, valid * 3);
/* 371 */ normals = new Vector3f[valid];
/* 372 */ for (int i = 0; i < valid; i++) {
/* 373 */ normals[i] = new Vector3f(c[(i * 3 + 0)], c[(i * 3 + 1)], c[(i * 3 + 2)]);
/* */ }
/* */
/* */ }
/* */
/* */ }
/* 379 */ else if (geomArray.getNormalRef3f() != null) {
/* 380 */ if (initial != 0) {
/* 381 */ Vector3f[] n = geomArray.getNormalRef3f();
/* 382 */ normals = new Vector3f[valid];
/* 383 */ for (int i = 0; i < valid; i++)
/* 384 */ normals[i] = new Vector3f(n[(i + initial)]);
/* */ } else {
/* 386 */ normals = geomArray.getNormalRef3f();
/* */ } } else if (geomArray.getNormalRefFloat() != null) {
/* 388 */ float[] n = geomArray.getNormalRefFloat();
/* 389 */ normals = new Vector3f[valid];
/* 390 */ for (int i = 0; i < valid; i++)
/* 391 */ normals[i] = new Vector3f(n[((i + initial) * 3)], n[((i + initial) * 3 + 1)], n[((i + initial) * 3 + 2)]);
/* */ }
/* */ }
/* */ else
/* */ {
/* */ int initial;
/* */ int initial;
/* 400 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 401 */ initial = geomArray.getInitialVertexIndex();
/* 402 */ else initial = 0;
/* 403 */ normals = new Vector3f[valid];
/* 404 */ for (int i = 0; i < valid; i++) normals[i] = new Vector3f();
/* 405 */ geomArray.getNormals(initial, normals);
/* */ }
/* 407 */ geomInfo.setNormals(normals);
/* */ }
/* */
/* 410 */ if ((vertexFormat & 0xC) == 12) {
/* 411 */ Color4f[] colors = null;
/* 412 */ if (byRef)
/* */ {
/* */ int initial;
/* */ int initial;
/* 415 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 416 */ initial = geomArray.getInitialColorIndex();
/* 417 */ else initial = 0;
/* */ int i;
/* 419 */ if (nio) {
/* 420 */ J3DBuffer buf = geomArray.getColorRefBuffer();
/* */
/* 422 */ switch (BufferWrapper.getBufferType(buf))
/* */ {
/* */ case 3:
/* 425 */ FloatBufferWrapper bb = new FloatBufferWrapper(buf);
/* 426 */ float[] c = new float[valid * 4];
/* 427 */ bb.position(initial * 4);
/* 428 */ bb.get(c, 0, valid * 4);
/* 429 */ colors = new Color4f[valid];
/* 430 */ for (i = 0; i < valid; i++) {
/* 431 */ colors[i] = new Color4f(c[(i * 4 + 0)], c[(i * 4 + 1)], c[(i * 4 + 2)], c[(i * 4 + 3)]);
/* */ }
/* */
/* 437 */ break;
/* */ case 2:
/* 440 */ ByteBufferWrapper bb = new ByteBufferWrapper(buf);
/* 441 */ byte[] c = new byte[valid * 4];
/* 442 */ bb.position(initial * 4);
/* 443 */ bb.get(c, 0, valid * 4);
/* 444 */ colors = new Color4f[valid];
/* 445 */ for (i = 0; i < valid; i++) {
/* 446 */ colors[i] = new Color4f((c[(i * 4 + 0)] & 0xFF) / 255.0F, (c[(i * 4 + 1)] & 0xFF) / 255.0F, (c[(i * 4 + 2)] & 0xFF) / 255.0F, (c[(i * 4 + 3)] & 0xFF) / 255.0F);
/* */ }
/* */
/* */ }
/* */
/* */ }
/* 454 */ else if (geomArray.getColorRef4f() != null) {
/* 455 */ if (initial != 0) {
/* 456 */ Color4f[] c = geomArray.getColorRef4f();
/* 457 */ colors = new Color4f[valid];
/* 458 */ for (i = 0; i < valid; i++)
/* 459 */ colors[i] = new Color4f(c[(i + initial)]);
/* */ } else {
/* 461 */ colors = geomArray.getColorRef4f();
/* */ } } else if (geomArray.getColorRefFloat() != null) {
/* 463 */ float[] c = geomArray.getColorRefFloat();
/* 464 */ colors = new Color4f[valid];
/* 465 */ for (int i = 0; i < valid; i++) {
/* 466 */ colors[i] = new Color4f(c[((i + initial) * 4 + 0)], c[((i + initial) * 4 + 1)], c[((i + initial) * 4 + 2)], c[((i + initial) * 4 + 3)]);
/* */ }
/* */
/* */ }
/* 471 */ else if (geomArray.getColorRefByte() != null) {
/* 472 */ byte[] c = geomArray.getColorRefByte();
/* 473 */ colors = new Color4f[valid];
/* 474 */ for (int i = 0; i < valid; i++) {
/* 475 */ colors[i] = new Color4f((c[((i + initial) * 4 + 0)] & 0xFF) / 255.0F, (c[((i + initial) * 4 + 1)] & 0xFF) / 255.0F, (c[((i + initial) * 4 + 2)] & 0xFF) / 255.0F, (c[((i + initial) * 4 + 3)] & 0xFF) / 255.0F);
/* */ }
/* */
/* */ }
/* 480 */ else if (geomArray.getColorRef4b() != null) {
/* 481 */ Color4b[] c = geomArray.getColorRef4b();
/* 482 */ colors = new Color4f[valid];
/* 483 */ for (int i = 0; i < valid; i++)
/* 484 */ colors[i] = new Color4f((c[(i + initial)].x & 0xFF) / 255.0F, (c[(i + initial)].y & 0xFF) / 255.0F, (c[(i + initial)].z & 0xFF) / 255.0F, (c[(i + initial)].w & 0xFF) / 255.0F);
/* */ }
/* */ }
/* */ else
/* */ {
/* */ int initial;
/* */ int initial;
/* 494 */ if (!(geomArray instanceof IndexedGeometryArray))
/* 495 */ initial = geomArray.getInitialVertexIndex();
/* 496 */ else initial = 0;
/* 497 */ colors = new Color4f[valid];
/* 498 */ for (int i = 0; i < valid; i++) colors[i] = new Color4f();
/* 499 */ geomArray.getColors(initial, colors);
/* */ }
/* 501 */ geomInfo.setColors(colors);
/* 502 */ } else if ((vertexFormat & 0x4) != 0) {
/* 503 */ Color3f[] colors = null;