final void renderHermiteRibbon(boolean doFill, int i, boolean thisTypeOnly) {
		setNeighbors(i);
		short colix = getLeadColix(i);
		if (doFill && aspectRatio != 0) {
			if (setMads(i, thisTypeOnly)) {
				try {
					if (meshes[i] == null || !meshReady[i])
						createMeshCylinder(i, madBeg, madMid, madEnd, aspectRatio);
					meshes[i].colix = colix;
					render1(meshes[i]);
					return;
				}
				catch (Exception e) {
					System.out.println("render mesh error hermiteRibbon: " + e.toString());
					// e.printStackTrace();
				}
			}
		}
		g3d.drawHermite(doFill, ribbonBorder, colix, isNucleic ? 4 : 7, ribbonTopScreens[iPrev], ribbonTopScreens[i],
				ribbonTopScreens[iNext], ribbonTopScreens[iNext2], ribbonBottomScreens[iPrev], ribbonBottomScreens[i],
				ribbonBottomScreens[iNext], ribbonBottomScreens[iNext2], aspectRatio);
	}