void createGeometryArrayData(int vertexCount, int vertexFormat) { if ((vertexFormat & GeometryArray.TEXTURE_COORDINATE) != 0) { createGeometryArrayData(vertexCount, vertexFormat, 1, defaultTexCoordSetMap); } else { createGeometryArrayData(vertexCount, vertexFormat, 0, null); } }
void createGeometryArrayData(int vertexCount, int vertexFormat, int texCoordSetCount, int[] texCoordSetMap) { createGeometryArrayData(vertexCount, vertexFormat, texCoordSetCount, texCoordSetMap, 0, null); }
/** * The functions below are only used in compile mode */ void setCompiled(ArrayList curList) { int i; int num = curList.size(); int offset = 0; geoOffset = new int[num]; compileVcount = new int[num]; int vcount = 0, vformat = 0; vcount = 0; isCompiled = true; if (num > 0) source = ((SceneGraphObjectRetained)curList.get(0)).source; for (i = 0; i < num; i++) { // Build the back mapping GeometryArrayRetained geo = (GeometryArrayRetained)curList.get(i); ((GeometryArray)geo.source).retained = this; compileVcount[i] = geo.getValidVertexCount(); vcount += geo.getValidVertexCount(); geoOffset[i] = offset; offset += geo.stride() * compileVcount[i]; vformat = geo.getVertexFormat(); } createGeometryArrayData(vcount, vformat); // Assign the initial and valid fields validVertexCount = vcount; initialVertexIndex = 0; mergeGeometryArrays(curList); }
GeometryArrayRetained cloneNonIndexedGeometry() { GeometryArrayRetained obj = null; switch (this.geoType) { case GEO_TYPE_INDEXED_LINE_SET: obj = new LineArrayRetained(); break; case GEO_TYPE_INDEXED_POINT_SET: obj = new PointArrayRetained(); break; case GEO_TYPE_INDEXED_QUAD_SET: obj = new QuadArrayRetained(); break; case GEO_TYPE_INDEXED_TRI_SET: obj = new TriangleArrayRetained(); break; default: assert false; // Should never get here } obj.createGeometryArrayData(validIndexCount, (vertexFormat & ~(GeometryArray.BY_REFERENCE|GeometryArray.INTERLEAVED|GeometryArray.USE_NIO_BUFFER)), texCoordSetCount, texCoordSetMap, vertexAttrCount, vertexAttrSizes); obj.cloneSourceArray = this; obj.unIndexify(this); obj.source=source; return obj; }
((GeometryArrayRetained)this.retained).createGeometryArrayData( vertexCount, vertexFormat, texCoordSetCount, texCoordSetMap,