/** * draw surfaces to pick them * * @param renderer opengl context */ public void drawForPickingSurfaces(Renderer renderer) { renderer.disableCulling(); drawListForPickingSurface(renderer, lists[Drawable3D.DRAW_TYPE_SURFACES]); drawListForPickingSurface(renderer, lists[Drawable3D.DRAW_TYPE_CLOSED_SURFACES_NOT_CURVED]); renderer.enableCulling(); renderer.setCullFaceFront(); drawListForPickingSurface(renderer, lists[Drawable3D.DRAW_TYPE_CLOSED_SURFACES_CURVED]); renderer.setCullFaceBack(); drawListForPickingSurface(renderer, lists[Drawable3D.DRAW_TYPE_CLOSED_SURFACES_CURVED]); renderer.disableCulling(); if (containsClippedSurfacesInclLists()) { renderer.enableClipPlanesIfNeeded(); drawListForPickingSurface(renderer, lists[Drawable3D.DRAW_TYPE_CLIPPED_SURFACES]); renderer.disableClipPlanesIfNeeded(); } renderer.enableCulling(); // lists for (Iterator<Drawable3D> d = lists[Drawable3D.DRAW_TYPE_LISTS].iterator(); d.hasNext(); ) { ((DrawList3D) d.next()).getDrawable3DLists().drawForPickingSurfaces(renderer); } }
private void drawForPickingPointsAndCurves(Renderer renderer, DrawList3D parent) { renderer.disableCulling(); drawListForPickingPointOrCurve(renderer, lists[Drawable3D.DRAW_TYPE_DEFAULT]); drawListForPickingPointOrCurve(renderer, lists[Drawable3D.DRAW_TYPE_POINTS]); drawListForPickingPointOrCurve(renderer, lists[Drawable3D.DRAW_TYPE_CURVES]); if (containsClippedCurves()) { renderer.enableClipPlanesIfNeeded(); drawListForPickingPointOrCurve(renderer, lists[Drawable3D.DRAW_TYPE_CLIPPED_CURVES]); renderer.disableClipPlanesIfNeeded(); } renderer.enableCulling(); renderer.setCullFaceBack(); // lists for (Iterator<Drawable3D> d = lists[Drawable3D.DRAW_TYPE_LISTS].iterator(); d.hasNext(); ) { ((DrawList3D) d.next()).getDrawable3DLists().drawForPickingPointsAndCurves(renderer); } }