void initializeMesh(boolean use2Sided) {
		int vertexCount = currentMesh.vertexCount;
		Vector3f[] vectorSums = new Vector3f[vertexCount];

		if (!isSilent)
			Logger.debug(" initializeMesh " + vertexCount);
		/*
		 * OK, so if there is an associated grid point (because the point is so close to one), we now declare that
		 * associated point to be used for the vectorSum instead of a new, independent one for the point itself.
		 * 
		 * Bob Hanson, 05/2006
		 * 
		 * having 2-sided normixes is INCOMPATIBLE with this when not a plane
		 * 
		 */

		for (int i = vertexCount; --i >= 0;)
			vectorSums[i] = new Vector3f();
		currentMesh.sumVertexNormals(vectorSums);
		Enumeration e = assocGridPointMap.keys();
		while (e.hasMoreElements()) {
			Integer I = (Integer) e.nextElement();
			((Vector3f) assocGridPointNormals.get(assocGridPointMap.get(I))).add(vectorSums[I.intValue()]);
		}
		e = assocGridPointMap.keys();
		while (e.hasMoreElements()) {
			Integer I = (Integer) e.nextElement();
			vectorSums[I.intValue()] = ((Vector3f) assocGridPointNormals.get(assocGridPointMap.get(I)));
		}
		short[] norm = currentMesh.normixes = new short[vertexCount];
		if (use2Sided)
			for (int i = vertexCount; --i >= 0;)
				norm[i] = g3d.get2SidedNormix(vectorSums[i]);
		else for (int i = vertexCount; --i >= 0;)
			norm[i] = g3d.getNormix(vectorSums[i]);
	}