From: Michael T H. <mic...@us...> - 2003-11-29 15:31:48
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/adapters In directory sc8-pr-cvs1:/tmp/cvs-serv4775/src/org/openscience/jmol/adapters Modified Files: SimpleModelAdapter.java Log Message: model support ... step 2 Index: SimpleModelAdapter.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/adapters/SimpleModelAdapter.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- SimpleModelAdapter.java 29 Nov 2003 12:23:48 -0000 1.19 +++ SimpleModelAdapter.java 29 Nov 2003 15:31:44 -0000 1.20 @@ -485,6 +485,7 @@ String line; // index into atoms array + 1 // so that 0 can be used for the null value + int currentModelNumber; int[] serialMap = new int[512]; PdbModel(BufferedReader reader) throws Exception { @@ -507,6 +508,10 @@ structure(); continue; } + if (line.startsWith("MODEL ")) { + model(); + continue; + } if (line.startsWith("HEADER") && line.length() >= 66) { setModelName(line.substring(62, 66)); continue; @@ -547,7 +552,8 @@ System.arraycopy(serialMap, 0, t, 0, serialMap.length); serialMap = t; } - atoms[atomCount++] = new Atom(atomicSymbol, x, y, z, 1, line); + atoms[atomCount++] = new Atom(atomicSymbol, x, y, z, + currentModelNumber, line); // note that values are +1 in this serial map serialMap[serial] = atomCount; } catch (NumberFormatException e) { @@ -610,5 +616,15 @@ pdbStructureRecords = t; } pdbStructureRecords[pdbStructureRecordCount++] = line; + } + + void model() { + try { + int modelNumber = Integer.parseInt(line.substring(10, 14).trim()); + if (modelNumber != currentModelNumber + 1) + System.out.println("Model number sequence seems confused"); + currentModelNumber = modelNumber; + } catch (NumberFormatException e) { + } } } |