Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel In directory sc8-pr-cvs1:/tmp/cvs-serv18763/src/org/openscience/jmol/viewer/datamodel Modified Files: AtomRenderer.java Axes.java AxesRenderer.java Backbone.java BackboneRenderer.java Bbox.java BboxRenderer.java BondRenderer.java Cartoon.java CartoonRenderer.java DotsRenderer.java Frame.java FrameRenderer.java Graphic.java LineRenderer.java Mcpg.java McpgRenderer.java MeasurementRenderer.java Renderer.java Strands.java StrandsRenderer.java Trace.java TraceRenderer.java Log Message: dynamic loading for Graphic and Renderer Index: AtomRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/AtomRenderer.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- AtomRenderer.java 7 Dec 2003 18:14:46 -0000 1.16 +++ AtomRenderer.java 28 Dec 2003 13:31:21 -0000 1.17 @@ -35,7 +35,7 @@ class AtomRenderer extends Renderer { AtomRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); + setViewerFrameRenderer(viewer, frameRenderer); } int minX, maxX, minY, maxY; Index: Axes.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Axes.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Axes.java 7 Dec 2003 18:53:31 -0000 1.9 +++ Axes.java 28 Dec 2003 13:31:21 -0000 1.10 @@ -34,9 +34,7 @@ import java.util.BitSet; -public class Axes implements Graphic { - - JmolViewer viewer; +public class Axes extends Graphic { final static Point3f[] unitAxisPoints = { new Point3f( 1, 0, 0), @@ -50,9 +48,7 @@ byte mode; final Point3f originPoint = new Point3f(); final Point3f[] axisPoints = new Point3f[6]; - - public Axes(JmolViewer viewer, Frame frame) { - this.viewer = viewer; + { for (int i = 6; --i >= 0; ) axisPoints[i] = new Point3f(); } Index: AxesRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/AxesRenderer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- AxesRenderer.java 7 Dec 2003 18:14:47 -0000 1.5 +++ AxesRenderer.java 28 Dec 2003 13:31:21 -0000 1.6 @@ -35,10 +35,6 @@ class AxesRenderer extends Renderer { - AxesRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - final static int axisFontsize = 14; String[] axisLabels = { "+X", "+Y", "+Z", Index: Backbone.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Backbone.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Backbone.java 10 Dec 2003 12:22:59 -0000 1.5 +++ Backbone.java 28 Dec 2003 13:31:21 -0000 1.6 @@ -32,10 +32,6 @@ public class Backbone extends Mcpg { - Backbone(JmolViewer viewer, Frame frame) { - super(viewer, frame); - } - Mcpg.Chain allocateMcpgChain(PdbPolymer polymer) { return new Chain(polymer); } Index: BackboneRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/BackboneRenderer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- BackboneRenderer.java 9 Dec 2003 23:53:59 -0000 1.4 +++ BackboneRenderer.java 28 Dec 2003 13:31:21 -0000 1.5 @@ -34,10 +34,6 @@ class BackboneRenderer extends McpgRenderer { - BackboneRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - void renderMcpgChain(Mcpg.Chain mcpgChain) { renderTraceChain((Backbone.Chain)mcpgChain); } Index: Bbox.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Bbox.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Bbox.java 7 Dec 2003 18:53:31 -0000 1.4 +++ Bbox.java 28 Dec 2003 13:31:21 -0000 1.5 @@ -34,11 +34,13 @@ import java.util.BitSet; -class Bbox implements Graphic { - - JmolViewer viewer; +class Bbox extends Graphic { final Point3f[] bboxPoints = new Point3f[8]; + { + for (int i = 8; --i >= 0; ) + bboxPoints[i] = new Point3f(); + } final static Point3f[] unitBboxPoints = { new Point3f( 1, 1, 1), @@ -55,12 +57,6 @@ // by XORing each of the three bits of my index final static byte edges[] = {0, 1, 0, 2, 0, 4, 1, 3, 1, 5, 2, 3, 2, 6, 3, 7, 4, 5, 4, 6, 5, 7, 6, 7}; - - Bbox(JmolViewer viewer, Frame frame) { - this.viewer = viewer; - for (int i = 8; --i >= 0; ) - bboxPoints[i] = new Point3f(); - } boolean show; Index: BboxRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/BboxRenderer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- BboxRenderer.java 7 Dec 2003 18:53:31 -0000 1.6 +++ BboxRenderer.java 28 Dec 2003 13:31:21 -0000 1.7 @@ -39,10 +39,6 @@ bboxScreen[i] = new Point3i(); } - BboxRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - void render() { Bbox bbox = (Bbox)graphic; if (! bbox.show) Index: BondRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/BondRenderer.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- BondRenderer.java 25 Dec 2003 13:28:09 -0000 1.26 +++ BondRenderer.java 28 Dec 2003 13:31:21 -0000 1.27 @@ -34,7 +34,7 @@ class BondRenderer extends Renderer { BondRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); + setViewerFrameRenderer(viewer, frameRenderer); } boolean wireframeRotating; Index: Cartoon.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Cartoon.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Cartoon.java 23 Dec 2003 02:28:13 -0000 1.11 +++ Cartoon.java 28 Dec 2003 13:31:21 -0000 1.12 @@ -34,10 +34,6 @@ public class Cartoon extends Mcpg { - Cartoon(JmolViewer viewer, Frame frame) { - super(viewer, frame); - } - Mcpg.Chain allocateMcpgChain(PdbPolymer polymer) { return new Chain(polymer); } Index: CartoonRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/CartoonRenderer.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- CartoonRenderer.java 11 Dec 2003 21:08:28 -0000 1.18 +++ CartoonRenderer.java 28 Dec 2003 13:31:21 -0000 1.19 @@ -35,10 +35,6 @@ class CartoonRenderer extends McpgRenderer { - CartoonRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - Point3i s0 = new Point3i(); Point3i s1 = new Point3i(); Point3i s2 = new Point3i(); Index: DotsRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/DotsRenderer.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- DotsRenderer.java 7 Dec 2003 18:14:47 -0000 1.24 +++ DotsRenderer.java 28 Dec 2003 13:31:21 -0000 1.25 @@ -53,7 +53,7 @@ final static int[] mapNull = Dots.mapNull; DotsRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); + setViewerFrameRenderer(viewer, frameRenderer); this.geodesic = new Geodesic(); // 12 vertices geodesic.quadruple(); // 12 * 4 - 6 = 42 vertices Index: Frame.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Frame.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- Frame.java 21 Dec 2003 12:59:01 -0000 1.30 +++ Frame.java 28 Dec 2003 13:31:21 -0000 1.31 @@ -203,19 +203,16 @@ } Graphic allocateGraphic(int refGraphic) { - switch (refGraphic) { - case JmolConstants.GRAPHIC_BACKBONE: - return new Backbone(viewer, this); - case JmolConstants.GRAPHIC_TRACE: - return new Trace(viewer, this); - case JmolConstants.GRAPHIC_AXES: - return new Axes(viewer, this); - case JmolConstants.GRAPHIC_BBOX: - return new Bbox(viewer, this); - case JmolConstants.GRAPHIC_CARTOON: - return new Cartoon(viewer, this); - case JmolConstants.GRAPHIC_STRANDS: - return new Strands(viewer, this); + String classBase = JmolConstants.graphicClassBases[refGraphic]; + String className = "org.openscience.jmol.viewer.datamodel." + classBase; + + try { + Class graphicClass = Class.forName(className); + Graphic graphic = (Graphic)graphicClass.newInstance(); + graphic.setViewerFrame(viewer, this); + return graphic; + } catch (Exception e) { + System.out.println("Could not instantiate graphic:" + classBase); } return null; } Index: FrameRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/FrameRenderer.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- FrameRenderer.java 8 Dec 2003 11:12:08 -0000 1.29 +++ FrameRenderer.java 28 Dec 2003 13:31:21 -0000 1.30 @@ -99,19 +99,17 @@ } Renderer allocateRenderer(int refGraphic) { - switch(refGraphic) { - case JmolConstants.GRAPHIC_BACKBONE: - return new BackboneRenderer(viewer, this); - case JmolConstants.GRAPHIC_TRACE: - return new TraceRenderer(viewer, this); - case JmolConstants.GRAPHIC_AXES: - return new AxesRenderer(viewer, this); - case JmolConstants.GRAPHIC_BBOX: - return new BboxRenderer(viewer, this); - case JmolConstants.GRAPHIC_CARTOON: - return new CartoonRenderer(viewer, this); - case JmolConstants.GRAPHIC_STRANDS: - return new StrandsRenderer(viewer, this); + String classBase = + JmolConstants.graphicClassBases[refGraphic] + "Renderer"; + String className = "org.openscience.jmol.viewer.datamodel." + classBase; + + try { + Class graphicClass = Class.forName(className); + Renderer renderer = (Renderer)graphicClass.newInstance(); + renderer.setViewerFrameRenderer(viewer, this); + return renderer; + } catch (Exception e) { + System.out.println("Could not instantiate renderer:" + classBase); } return null; } Index: Graphic.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Graphic.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Graphic.java 7 Dec 2003 18:53:32 -0000 1.2 +++ Graphic.java 28 Dec 2003 13:31:21 -0000 1.3 @@ -24,10 +24,23 @@ */ package org.openscience.jmol.viewer.datamodel; +import org.openscience.jmol.viewer.*; import java.util.BitSet; -abstract public interface Graphic { +abstract public class Graphic { + + JmolViewer viewer; + Frame frame; + + final public void setViewerFrame(JmolViewer viewer, Frame frame) { + this.viewer = viewer; + this.frame = frame; + initGraphic(); + } + + public void initGraphic() { + } abstract public void setShow(boolean show); abstract public void setMad(short mad, BitSet bsSelected); Index: LineRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/LineRenderer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- LineRenderer.java 7 Dec 2003 18:14:47 -0000 1.5 +++ LineRenderer.java 28 Dec 2003 13:31:21 -0000 1.6 @@ -34,7 +34,7 @@ class LineRenderer extends Renderer { LineRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); + setViewerFrameRenderer(viewer, frameRenderer); } final Point3i screenOrigin = new Point3i(); Index: Mcpg.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Mcpg.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Mcpg.java 23 Dec 2003 02:28:14 -0000 1.3 +++ Mcpg.java 28 Dec 2003 13:31:21 -0000 1.4 @@ -33,20 +33,16 @@ /**************************************************************** * Mcpg stands for Model-Chain-Polymer-Graphic ****************************************************************/ -abstract public class Mcpg implements Graphic { +abstract public class Mcpg extends Graphic { - JmolViewer viewer; - Frame frame; PdbFile pdbFile; Model[] models; - Mcpg(JmolViewer viewer, Frame frame) { - this.viewer = viewer; - this.frame = frame; + final public void initGraphic() { pdbFile = frame.pdbFile; } - + public void setShow(boolean show) { } Index: McpgRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/McpgRenderer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- McpgRenderer.java 9 Dec 2003 23:53:59 -0000 1.1 +++ McpgRenderer.java 28 Dec 2003 13:31:21 -0000 1.2 @@ -34,10 +34,6 @@ abstract class McpgRenderer extends Renderer { - McpgRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - void render() { if (graphic == null) return; Index: MeasurementRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/MeasurementRenderer.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- MeasurementRenderer.java 14 Dec 2003 19:33:31 -0000 1.8 +++ MeasurementRenderer.java 28 Dec 2003 13:31:21 -0000 1.9 @@ -40,7 +40,7 @@ class MeasurementRenderer extends Renderer { MeasurementRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); + setViewerFrameRenderer(viewer, frameRenderer); } short colixDistance; Index: Renderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Renderer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Renderer.java 7 Dec 2003 18:14:47 -0000 1.6 +++ Renderer.java 28 Dec 2003 13:31:21 -0000 1.7 @@ -36,9 +36,14 @@ JmolViewer viewer; FrameRenderer frameRenderer; - Renderer(JmolViewer viewer, FrameRenderer frameRenderer) { + final void setViewerFrameRenderer(JmolViewer viewer, + FrameRenderer frameRenderer) { this.viewer = viewer; this.frameRenderer = frameRenderer; + initRenderer(); + } + + void initRenderer() { } Graphics3D g3d; Index: Strands.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Strands.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Strands.java 10 Dec 2003 12:22:59 -0000 1.10 +++ Strands.java 28 Dec 2003 13:31:21 -0000 1.11 @@ -41,10 +41,6 @@ * http://sgce.cbse.uab.edu/carson/papers/ribbons86/ribbons86.html ****************************************************************/ - Strands(JmolViewer viewer, Frame frame) { - super(viewer, frame); - } - Mcpg.Chain allocateMcpgChain(PdbPolymer polymer) { return new Chain(polymer); } Index: StrandsRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/StrandsRenderer.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- StrandsRenderer.java 9 Dec 2003 23:53:59 -0000 1.12 +++ StrandsRenderer.java 28 Dec 2003 13:31:21 -0000 1.13 @@ -35,10 +35,6 @@ class StrandsRenderer extends McpgRenderer { - StrandsRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - Strands strands; Point3f pointT = new Point3f(); Index: Trace.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/Trace.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- Trace.java 10 Dec 2003 12:22:59 -0000 1.20 +++ Trace.java 28 Dec 2003 13:31:21 -0000 1.21 @@ -32,10 +32,6 @@ public class Trace extends Mcpg { - Trace(JmolViewer viewer, Frame frame) { - super(viewer, frame); - } - Mcpg.Chain allocateMcpgChain(PdbPolymer polymer) { return new Chain(polymer); } Index: TraceRenderer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/datamodel/TraceRenderer.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- TraceRenderer.java 16 Dec 2003 23:31:00 -0000 1.20 +++ TraceRenderer.java 28 Dec 2003 13:31:21 -0000 1.21 @@ -34,10 +34,6 @@ class TraceRenderer extends McpgRenderer { - TraceRenderer(JmolViewer viewer, FrameRenderer frameRenderer) { - super(viewer, frameRenderer); - } - void render() { super.render(); screens = null; |