From: Bob H. <ha...@us...> - 2006-02-06 22:45:51
|
Update of /cvsroot/jmol/Jmol/src/org/jmol/viewer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19580/src/org/jmol/viewer Modified Files: ModelManager.java Viewer.java Log Message: adds getProperty("atomDetail") see http://www.stolaf.edu/people/hansonr/jmol/test/json/json.htm Index: ModelManager.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/jmol/viewer/ModelManager.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- ModelManager.java 10 Nov 2005 15:52:40 -0000 1.25 +++ ModelManager.java 6 Feb 2006 22:45:39 -0000 1.26 @@ -497,4 +497,37 @@ Polymer polymer = frame.getPolymerAt(modelIndex, polymerIndex); return polymer.getLeadMidpoints(); } + + public String getJSONAtomInfoFromBitSet(BitSet bs) { + String strJSON = ""; + String sep =""; + int atomCount = frame.atomCount; + for (int i = 0; i < atomCount; i++) { + if (bs.get(i)) { + strJSON = strJSON + sep + getAtomInfoJSON(i); + sep = ","; + } + } + strJSON = "[" + strJSON + "]"; + return strJSON; + } + + String getAtomInfoJSON(int i) { + String strJSON = "{"; + strJSON = strJSON + "\"ipt\":" + i; + strJSON = strJSON + ",\"number\":" + getAtomNumber(i); + strJSON = strJSON + ",\"sym\":\"" + getElementSymbol(i) + "\""; + strJSON = strJSON + ",\"atno\":" + getElementNumber(i); + strJSON = strJSON + ",\"x\":" + getAtomX(i); + strJSON = strJSON + ",\"y\":" + getAtomY(i); + strJSON = strJSON + ",\"z\":" + getAtomZ(i); + strJSON = strJSON + ",\"name\":\"" + getAtomName(i) + "\""; + strJSON = strJSON + ",\"model\":" + getAtomModelIndex(i); + strJSON = strJSON + ",\"info\":\"" + getAtomInfo(i) + "\""; +// strJSON = strJSON + ",\"chain\":\"" + getAtomChain(i) + "\""; +// strJSON = strJSON + ",\"seq\":\"" + getAtomSequenceCode(i) + "\""; + strJSON = strJSON + "}"; + return strJSON; + } } + Index: Viewer.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/jmol/viewer/Viewer.java,v retrieving revision 1.60 retrieving revision 1.61 diff -u -r1.60 -r1.61 --- Viewer.java 6 Feb 2006 20:43:50 -0000 1.60 +++ Viewer.java 6 Feb 2006 22:45:39 -0000 1.61 @@ -958,10 +958,17 @@ str = str.substring(1,str.length()-1); return str; } + } + if(infoType.equalsIgnoreCase("atomDetail")) { + if(paramInfo.length() > 0){ + String str = getAtomBitSetDetail(paramInfo); + return str; + } } return "getProperty ERROR\n\nOptions include " + "\n getProperty(\"fileContents\",\"<pathname>\")" - + "\n getProperty(\"atomList\",\"<atom selection>\")"; + + "\n getProperty(\"atomList\",\"<atom selection>\")" + + "\n getProperty(\"atomDetail\",\"<atom selection>\")"; } @@ -2573,6 +2580,11 @@ return modelManager.getPolymerLeadMidPoints(modelIndex, polymerIndex); } + public String getAtomBitSetDetail(String atomExpression) { + BitSet bs = getAtomBitSet(atomExpression); + return modelManager.getJSONAtomInfoFromBitSet(bs); + } + //////////////////////////////////////////////////////////////// // stereo support //////////////////////////////////////////////////////////////// |