/** * Generate a new set of points for an unindexed quad array * * @param data The data to shape the calculations on * @throws InvalidArraySizeException The array is not big enough to contain * the requested geometry */ private void unindexedQuads(GeometryData data) throws InvalidArraySizeException { generateUnindexedQuadCoordinates(data); if((data.geometryComponents & GeometryData.NORMAL_DATA) != 0) generateUnindexedQuadNormals(data); if((data.geometryComponents & GeometryData.TEXTURE_2D_DATA) != 0) generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data); }
/** * Generate a new set of points for an unindexed quad array * * @param data The data to shape the calculations on * @throws InvalidArraySizeException The array is not big enough to contain * the requested geometry */ private void unindexedTriangles(GeometryData data) throws InvalidArraySizeException { generateUnindexedTriCoordinates(data); if((data.geometryComponents & GeometryData.NORMAL_DATA) != 0) generateUnindexedTriNormals(data); if((data.geometryComponents & GeometryData.TEXTURE_2D_DATA) != 0) generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data); }
/** * Generate a new set of points for an indexed triangle fan array. We * build the strip from the existing points, and there's no need to * re-order the points for the indexes this time. As for the simple fan, * we use the first index, the lower-right corner as the apex for the fan. * * @param data The data to shape the calculations on * @throws InvalidArraySizeException The array is not big enough to contain * the requested geometry */ private void indexedTriangleFans(GeometryData data) throws InvalidArraySizeException { generateIndexedCoordinates(data); if((data.geometryComponents & GeometryData.NORMAL_DATA) != 0) generateIndexedNormals(data); if((data.geometryComponents & GeometryData.TEXTURE_2D_DATA) != 0) generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data); // now let's do the index list }
/** * Generate a new set of points for a triangle strip array. Each side is a * strip of two faces. * * @param data The data to shape the calculations on * @throws InvalidArraySizeException The array is not big enough to contain * the requested geometry */ private void triangleStrips(GeometryData data) throws InvalidArraySizeException { generateUnindexedTriStripCoordinates(data); if((data.geometryComponents & GeometryData.NORMAL_DATA) != 0) generateUnindexedTriStripNormals(data); if((data.geometryComponents & GeometryData.TEXTURE_2D_DATA) != 0) generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data); int num_strips = innerFacetCount * loopCount; if(data.stripCounts == null) data.stripCounts = new int[num_strips]; else if(data.stripCounts.length < num_strips) throw new InvalidArraySizeException("Strip counts", data.stripCounts.length, num_strips); int strip_length = (outerFacetCount + 1) << 1; int[] stripCounts = data.stripCounts; for(int i = num_strips; --i >= 0; ) stripCounts[i] = strip_length; }
generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data);
generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data);
generateTriTexture2D(data); else if((data.geometryComponents & GeometryData.TEXTURE_3D_DATA) != 0) generateTriTexture3D(data);