From: Michael T H. <mic...@us...> - 2004-02-04 23:40:48
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27935/src/org/openscience/jmol/viewer/datamodel Modified Files: Dots.java DotsRenderer.java Frame.java FrameRenderer.java Graphic.java Log Message: moved dots to be a Graphic Index: Dots.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Dots.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- Dots.java 10 Jan 2004 15:05:49 -0000 1.20 +++ Dots.java 4 Feb 2004 23:38:19 -0000 1.21 @@ -82,10 +82,8 @@ * ****************************************************************/ -public class Dots { +public class Dots extends Graphic { - JmolViewer viewer; - Frame frame; DotsRenderer dotsRenderer; BitSet bsDotsOn; @@ -120,17 +118,17 @@ final Point3f pointT1 = new Point3f(); - Dots(JmolViewer viewer, Frame frame, DotsRenderer dotsRenderer) { - this.viewer = viewer; - this.frame = frame; - this.dotsRenderer = dotsRenderer; + public void initGraphic() { + dotsRenderer = (DotsRenderer)frame.getRenderer(JmolConstants.GRAPHIC_DOTS); bsDotsOn = new BitSet(); geodesicVertices = dotsRenderer.geodesic.vertices; geodesicCount = geodesicVertices.length; geodesicMap = allocateBitmap(geodesicCount); } - public void setDotsOn(boolean dotsOn, BitSet bsSelected) { + public void setShow(boolean show) { + this.show = show; + BitSet bsSelected = viewer.getBitSetSelection(); if (radiusP != viewer.getSolventProbeRadius()) { dotsConvexCount = 0; dotsConvexMaps = null; @@ -143,7 +141,7 @@ } int atomCount = frame.atomCount; dotsConvexCount = 0; - if (dotsOn) { + if (show) { bsDotsOn.or(bsSelected); if (dotsConvexMaps == null) dotsConvexMaps = new int[atomCount][]; Index: DotsRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/DotsRenderer.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- DotsRenderer.java 10 Jan 2004 15:05:49 -0000 1.26 +++ DotsRenderer.java 4 Feb 2004 23:38:19 -0000 1.27 @@ -52,8 +52,7 @@ final static int[] mapNull = Dots.mapNull; - DotsRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - setViewerFrameRenderer(viewer, frameRenderer); + void initRenderer() { this.geodesic = new Geodesic(); // 12 vertices geodesic.quadruple(); // 12 * 4 - 6 = 42 vertices @@ -73,7 +72,7 @@ geodesic.transform(); - Dots dots = frame.dots; + Dots dots = (Dots)graphic; if (dots == null) return; Atom[] atoms = frame.atoms; Index: Frame.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Frame.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- Frame.java 4 Feb 2004 22:38:04 -0000 1.39 +++ Frame.java 4 Feb 2004 23:38:19 -0000 1.40 @@ -194,15 +194,6 @@ addBond(atom1.bondMutually(atom2, order)); } - Dots dots; - - public void setDotsOn(boolean dotsOn, BitSet bsSelected) { - if (dotsOn && dots == null) - dots = new Dots(viewer, this, frameRenderer.getDotsRenderer()); - if (dots != null) - dots.setDotsOn(dotsOn, bsSelected); - } - Graphic allocateGraphic(int refGraphic) { String classBase = JmolConstants.graphicClassBases[refGraphic]; String className = "org.openscience.jmol.viewer.datamodel." + classBase; @@ -213,7 +204,9 @@ graphic.setViewerFrame(viewer, this); return graphic; } catch (Exception e) { - System.out.println("Could not instantiate graphic:" + classBase); + System.out.println("Could not instantiate graphic:" + classBase + + "\n" + e); + e.printStackTrace(); } return null; } @@ -841,4 +834,8 @@ this.notionalUnitcell = notionalUnitcell; } + public Renderer getRenderer(int refGraphic) { + return frameRenderer.getRenderer(refGraphic); + } + } Index: FrameRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/FrameRenderer.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- FrameRenderer.java 4 Feb 2004 21:43:00 -0000 1.31 +++ FrameRenderer.java 4 Feb 2004 23:38:19 -0000 1.32 @@ -42,7 +42,6 @@ AtomRenderer atomRenderer; BondRenderer bondRenderer; MeasurementRenderer measurementRenderer; - DotsRenderer dotsRenderer; LineRenderer lineRenderer; Renderer[] renderers; @@ -68,20 +67,12 @@ measurementRenderer = new MeasurementRenderer(viewer, this); measurementRenderer.render(g3d, rectClip, frame, null); } - if (frame.dots != null) { - if (dotsRenderer == null) - dotsRenderer = new DotsRenderer(viewer, this); - dotsRenderer.render(g3d, rectClip, frame, null); - } for (int i = 0; i < JmolConstants.GRAPHIC_MAX; ++i) { Graphic graphic = frame.graphics[i]; if (graphic == null) continue; - Renderer renderer = renderers[i]; - if (renderer == null) - renderer = renderers[i] = allocateRenderer(i); - renderer.render(g3d, rectClip, frame, graphic); + getRenderer(i).render(g3d, rectClip, frame, graphic); } if (frame.lineCount > 0) { @@ -91,6 +82,12 @@ } } + Renderer getRenderer(int refGraphic) { + if (renderers[refGraphic] == null) + renderers[refGraphic] = allocateRenderer(refGraphic); + return renderers[refGraphic]; + } + Renderer allocateRenderer(int refGraphic) { String classBase = JmolConstants.graphicClassBases[refGraphic] + "Renderer"; @@ -102,7 +99,9 @@ renderer.setViewerFrameRenderer(viewer, this); return renderer; } catch (Exception e) { - System.out.println("Could not instantiate renderer:" + classBase); + System.out.println("Could not instantiate renderer:" + classBase + + "\n" + e); + e.printStackTrace(); } return null; } @@ -139,12 +138,6 @@ g3d.drawString(str, colix, xStrBaseline, yStrBaseline, z); } - public DotsRenderer getDotsRenderer() { - if (dotsRenderer == null) - dotsRenderer = new DotsRenderer(viewer, this); - return dotsRenderer; - } - private Point3i[] tempScreens = new Point3i[32]; { for (int i = tempScreens.length; --i >= 0; ) Index: Graphic.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Graphic.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Graphic.java 4 Feb 2004 22:38:04 -0000 1.5 +++ Graphic.java 4 Feb 2004 23:38:19 -0000 1.6 @@ -52,8 +52,11 @@ return show; } - abstract public void setMad(short mad, BitSet bsSelected); - abstract public void setColix(byte palette, short colix, BitSet bsSelected); + public void setMad(short mad, BitSet bsSelected) { + } + + public void setColix(byte palette, short colix, BitSet bsSelected) { + } public void checkBoundsMinMax(Point3f pointMin, Point3f pointMax) { } |