boolean createIsosurface() {
		resetIsosurface();
		try {
			readData(false);
			calcVoxelVertexVectors();
			generateSurfaceData();
		}
		catch (Exception e) {
			return false;
		}
		currentMesh.jvxlFileHeader = "" + jvxlFileHeader;
		currentMesh.cutoff = (isJvxl ? jvxlCutoff : cutoff);
		currentMesh.jvxlColorData = "";
		currentMesh.jvxlEdgeData = "" + fractionData;
		currentMesh.isBicolorMap = isBicolorMap;
		currentMesh.isContoured = isContoured;
		currentMesh.nContours = nContours;
		if (jvxlDataIsColorMapped)
			jvxlReadColorData(currentMesh);
		currentMesh.colix = getDefaultColix();
		currentMesh.jvxlExtraLine = jvxlExtraLine(1);
		if (thePlane != null && iAddGridPoints)
			addGridPointCube();
		return true;
	}