Revision: 18312 http://sourceforge.net/p/jmol/code/18312 Author: hansonr Date: 2013-06-07 21:12:44 +0000 (Fri, 07 Jun 2013) Log Message: ----------- ___JmolVersion="13.1.17_dev_2013.06.07"
TODO: PyMOL uniqueAtomSettings for selected atom settings TODO: selective molecular surface translucency -- color isosurface {xxxx} red translucent 0.5 ?? bug fix: ellipsoid rendering problems Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/CifReader.java trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java trunk/Jmol/src/org/jmol/adapter/readers/molxyz/MolReader.java trunk/Jmol/src/org/jmol/adapter/readers/molxyz/XyzReader.java trunk/Jmol/src/org/jmol/adapter/readers/more/JcampdxReader.java trunk/Jmol/src/org/jmol/adapter/readers/more/MdTopReader.java trunk/Jmol/src/org/jmol/adapter/readers/more/P2nReader.java trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java trunk/Jmol/src/org/jmol/adapter/readers/quantum/NWChemReader.java trunk/Jmol/src/org/jmol/adapter/readers/quantum/SpartanSmolReader.java trunk/Jmol/src/org/jmol/adapter/readers/quantum/WebMOReader.java trunk/Jmol/src/org/jmol/adapter/readers/simple/ZMatrixReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlChem3dReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlMagResReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlQEReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlVaspReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlXsdReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/AimsReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/CastepReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/GulpReader.java trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/CifReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/CifReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/CifReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -243,7 +243,7 @@ atomSetCollection.applySymmetryBio(vBiomts, notionalUnitCell, applySymmetryToBonds, filter); } } - super.finalizeReader(); + finalizeReaderASCR(); String header = tokenizer.getFileHeader(); if (header.length() > 0) atomSetCollection.setAtomSetCollectionAuxiliaryInfo("fileHeader", @@ -293,7 +293,7 @@ // no atom-centered rotation axes, and no mirror or glide planes. atomSetCollection.setCheckSpecial(!isPDB); boolean doCheck = doCheckUnitCell && !isPDB; - super.applySymmetryAndSetTrajectory(); + applySymTrajASCR(); if (doCheck && (bondTypes.size() > 0 || isMolecular)) setBondingAndMolecules(); } Modified: trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -339,6 +339,10 @@ @Override protected void finalizeReader() throws Exception { + finalizeReaderPDB(); + } + + protected void finalizeReaderPDB() throws Exception { checkNotPDB(); atomSetCollection.connectAll(maxSerial, isConnectStateBug); if (atomSetCollection.getStructureCount() > 0) @@ -373,7 +377,7 @@ appendLoadNote(sbTlsErrors.toString()); } - super.finalizeReader(); + finalizeReaderASCR(); if (vCompnds != null) atomSetCollection.setAtomSetCollectionAuxiliaryInfo("compoundSource", vCompnds); if (htSites != null) { // && atomSetCollection.getAtomSetCount() == 1) @@ -387,7 +391,7 @@ Logger.info(sbIgnored.toString()); } } - + private void checkForResidualBFactors(SymmetryInterface symmetry) { Atom[] atoms = atomSetCollection.getAtoms(); boolean isResidual = false; Modified: trunk/Jmol/src/org/jmol/adapter/readers/molxyz/MolReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/molxyz/MolReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/molxyz/MolReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -131,12 +131,17 @@ } } } + @Override public void finalizeReader() throws Exception { + finalizeReaderMR(); + } + + protected void finalizeReaderMR() throws Exception { if (is2D) set2D(); isTrajectory = false; - super.finalizeReader(); + finalizeReaderASCR(); } void processMolSdHeader() throws Exception { Modified: trunk/Jmol/src/org/jmol/adapter/readers/molxyz/XyzReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/molxyz/XyzReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/molxyz/XyzReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -85,7 +85,7 @@ @Override protected void finalizeReader() throws Exception { isTrajectory = false; - super.finalizeReader(); + finalizeReaderASCR(); } private void skipAtomSet(int modelAtomCount) throws Exception { Modified: trunk/Jmol/src/org/jmol/adapter/readers/more/JcampdxReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/more/JcampdxReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/more/JcampdxReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -159,7 +159,7 @@ @Override public void finalizeReader() throws Exception { processPeakData(); - super.finalizeReader(); + finalizeReaderMR(); } private int findModelById(String modelID) { Modified: trunk/Jmol/src/org/jmol/adapter/readers/more/MdTopReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/more/MdTopReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/more/MdTopReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -87,7 +87,7 @@ @Override protected void finalizeReader() throws Exception { - super.finalizeReader(); + finalizeReaderASCR(); Atom[] atoms = atomSetCollection.getAtoms(); Atom atom; for (int i = 0; i < atomCount; i++) { Modified: trunk/Jmol/src/org/jmol/adapter/readers/more/P2nReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/more/P2nReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/more/P2nReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -55,7 +55,7 @@ @Override protected void finalizeReader() throws Exception { - super.finalizeReader(); + finalizeReaderPDB(); if (!useAltNames) atomSetCollection.setAtomSetAuxiliaryInfo("altName", altNames .toArray(new String[altNames.size()])); Modified: trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -170,6 +170,11 @@ // override PDBReader settings } + @Override + protected void finalizeReader() throws Exception { + finalizeReaderPDB(); + atomSetCollection.setEllipsoids(); + } /** * At the end of the day, we need to finalize all the JmolObjects, set the * trajectories, and, if filtered with DOCACHE, cache a streamlined binary @@ -1032,7 +1037,7 @@ atom.vectorX = uniqueID; atom.vectorY = cartoonType; if (a.size() > 46) { - float[] data = PyMOLScene.floatsAt(a, 41, new float[7], 6); + float[] data = PyMOLScene.floatsAt(a, 41, new float[8], 6); atomSetCollection.setAnisoBorU(atom, data, 12); } //if (uniqueID > 0) Modified: trunk/Jmol/src/org/jmol/adapter/readers/quantum/NWChemReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/quantum/NWChemReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/quantum/NWChemReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -983,13 +983,13 @@ private boolean purging; @Override public String readLine() throws Exception { - super.readLine(); + RL(); if (!purging && line != null && line.startsWith("--")) { purging = true; discardLinesUntilStartsWith("*"); readLine(); purging = false; - super.readLine(); + RL(); } return line; } Modified: trunk/Jmol/src/org/jmol/adapter/readers/quantum/SpartanSmolReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/quantum/SpartanSmolReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/quantum/SpartanSmolReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -137,7 +137,7 @@ @Override protected void finalizeReader() throws Exception { - super.finalizeReader(); + finalizeReaderASCR(); // info out of order -- still a chance, at least for first model if (atomCount > 0 && spartanArchive != null && atomSetCollection.getBondCount() == 0 && bondData != null) Modified: trunk/Jmol/src/org/jmol/adapter/readers/quantum/WebMOReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/quantum/WebMOReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/quantum/WebMOReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -95,7 +95,7 @@ @Override protected void finalizeReader() throws Exception { - super.finalizeReader(); + finalizeReaderASCR(); if (nOrbitals > 0) setMOs("eV"); if (Logger.debugging) Modified: trunk/Jmol/src/org/jmol/adapter/readers/simple/ZMatrixReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/simple/ZMatrixReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/simple/ZMatrixReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -239,7 +239,7 @@ for (int i = firstLine; i < lineBuffer.size(); i++) if ((tokens = lineBuffer.get(i)).length > 0) getAtom(); - super.finalizeReader(); + finalizeReaderASCR(); } private void getSymbolic() { Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlChem3dReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlChem3dReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlChem3dReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -60,7 +60,7 @@ @Override protected void processXml(XmlReader parent, Object saxReader) throws Exception { - super.processXml(parent, saxReader); + PX(parent, saxReader); finalizeMOData(moData); } Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlMagResReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlMagResReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlMagResReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -49,7 +49,7 @@ protected void processXml(XmlReader parent, Object saxReader) throws Exception { parent.doProcessLines = true; - super.processXml(parent, saxReader); + PX(parent, saxReader); } @Override Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlQEReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlQEReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlQEReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -58,7 +58,7 @@ protected void processXml(XmlReader parent, Object saxReader) throws Exception { parent.doProcessLines = true; - super.processXml(parent, saxReader); + PX(parent, saxReader); } @Override Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -166,6 +166,10 @@ */ protected void processXml(XmlReader parent, Object saxReader) throws Exception { + PX(parent, saxReader); + } + + protected void PX(XmlReader parent, Object saxReader) throws Exception { this.parent = parent; atomSetCollection = parent.atomSetCollection; reader = parent.reader; @@ -199,12 +203,11 @@ saxHandler.parseXML(this, saxReader, reader); } } - @Override public void applySymmetryAndSetTrajectory() { try { if (parent == null) - super.applySymmetryAndSetTrajectory(); + applySymTrajASCR(); else parent.applySymmetryAndSetTrajectory(); } catch (Exception e) { Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlVaspReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlVaspReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlVaspReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -64,7 +64,7 @@ protected void processXml(XmlReader parent, Object saxReader) throws Exception { parent.doProcessLines = true; - super.processXml(parent, saxReader); + PX(parent, saxReader); } @Override Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlXsdReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlXsdReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlXsdReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -59,7 +59,7 @@ protected void processXml(XmlReader parent, Object saxReader) throws Exception { parent.htParams.put("backboneAtoms", bsBackbone); - super.processXml(parent, saxReader); + PX(parent, saxReader); atomSetCollection.clearSymbolicMap(); } Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/AimsReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/AimsReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/AimsReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -93,7 +93,7 @@ + "(which is currently neither supported by FHI-aims"); // note: Jmol DOES support both polymer and slab symmetry. } - super.finalizeReader(); + finalizeReaderASCR(); } /* Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/CastepReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/CastepReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/CastepReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -373,20 +373,18 @@ protected void finalizeReader() throws Exception { if (isPhonon || isOutput) { isTrajectory = false; - super.finalizeReader(); - return; + } else { + doApplySymmetry = true; + setLatticeVectors(); + int nAtoms = atomSetCollection.getAtomCount(); + /* + * this needs to be run either way (i.e. even if coordinates are already + * fractional) - to satisfy the logic in AtomSetCollectionReader() + */ + for (int i = 0; i < nAtoms; i++) + setAtomCoord(atomSetCollection.getAtom(i)); } - - doApplySymmetry = true; - setLatticeVectors(); - int nAtoms = atomSetCollection.getAtomCount(); - /* - * this needs to be run either way (i.e. even if coordinates are already - * fractional) - to satisfy the logic in AtomSetCollectionReader() - */ - for (int i = 0; i < nAtoms; i++) - setAtomCoord(atomSetCollection.getAtom(i)); - super.finalizeReader(); + finalizeReaderASCR(); } private void setLatticeVectors() { Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -293,7 +293,7 @@ processInputCoords(); if (energy != null) setEnergy(); - super.finalizeReader(); + finalizeReaderASCR(); } /* Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/GulpReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/GulpReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/GulpReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -320,7 +320,7 @@ } setModelParameters(false); } - super.applySymmetryAndSetTrajectory(); + applySymTrajASCR(); } /* Fractional coordinates of asymmetric unit : Modified: trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java 2013-06-07 20:32:43 UTC (rev 18311) +++ trunk/Jmol/src/org/jmol/adapter/smarter/AtomSetCollectionReader.java 2013-06-07 21:12:44 UTC (rev 18312) @@ -236,7 +236,7 @@ } else { processBinaryDocument(doc); } - finalizeReader(); + finalizeReader(); // upstairs } catch (Throwable e) { Logger.info("Reader error: " + e); if (!viewer.isApplet()) @@ -328,7 +328,15 @@ htParams.put("trajectorySteps", trajectorySteps = new JmolList<P3[]>()); } + /** + * optional reader-specific method run first. + * @throws Exception + */ protected void finalizeReader() throws Exception { + finalizeReaderASCR(); + } + + protected void finalizeReaderASCR() throws Exception { applySymmetryAndSetTrajectory(); setLoadNote(); if (doCentralize) @@ -994,6 +1002,10 @@ } public void applySymmetryAndSetTrajectory() throws Exception { + applySymTrajASCR(); + } + + public void applySymTrajASCR() throws Exception { if (iHaveUnitCell && doCheckUnitCell) { atomSetCollection.setCoordinatesAreFractional(iHaveFractionalCoordinates); atomSetCollection.setNotionalUnitCell(notionalUnitCell, @@ -1351,6 +1363,10 @@ } public String readLine() throws Exception { + return RL(); + } + + public String RL() throws Exception { prevline = line; line = reader.readLine(); if (os != null && line != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits