Revision: 5143
Author: hansonr
Date: 2006-05-18 21:30:14 -0700 (Thu, 18 May 2006)
ViewCVS: http://svn.sourceforge.net/jmol/?rev=5143&view=rev
Log Message:
-----------
bob200603 altloc/insertion wildcard finalization:
nnn pure nnn, not insertion
nnn^* any nnn or nnn^x
nnn^? any insertion nnn^x
*%? any altloc
Modified Paths:
--------------
branches/bob200603/Jmol/src/org/jmol/viewer/Atom.java
branches/bob200603/Jmol/src/org/jmol/viewer/Compiler.java
branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java
branches/bob200603/Jmol/src/org/jmol/viewer/Group.java
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Atom.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Atom.java 2006-05-19
03:25:44 UTC (rev 5142)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Atom.java 2006-05-19
04:30:14 UTC (rev 5143)
@@ -479,7 +479,10 @@
return (alternateLocationID == 0);
if (strPattern.length() != 1)
return false;
- return alternateLocationID == strPattern.charAt(0);
+ char ch = strPattern.charAt(0);
+ return (ch == '*'
+ || ch == '?' && alternateLocationID != '\0'
+ || alternateLocationID == ch);
}
int getAtomNumber() {
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Compiler.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Compiler.java 2006-05-19
03:25:44 UTC (rev 5142)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Compiler.java 2006-05-19
04:30:14 UTC (rev 5143)
@@ -177,11 +177,8 @@
Integer.parseInt(script.substring(ichToken,
ichToken + cchToken - 2)));
char insertionCode = script.charAt(ichToken + cchToken - 1);
- if (insertionCode == '*')
- insertionCode = '?';
int seqcode = Group.getSeqcode(seqNum, insertionCode);
ltoken.addElement(new Token(Token.seqcode, seqcode, "seqcode"));
- System.out.println("compiler ins code "+insertionCode);
continue;
}
if (lookingAtInteger((tokCommand & Token.negnums) != 0)) {
@@ -1527,15 +1524,12 @@
boolean clauseAlternateSpec() {
tokenNext();
int tok = tokPeek();
- if(isSpecTerminator(tok)) {
+ if(isSpecTerminator(tok))
return generateResidueSpecCode(new Token(Token.spec_alternate, null));
- }
- if (tokPeek() == Token.asterisk) {
- tokenNext();
- return true;
- }
Token tokenAlternate = tokenNext();
+ String alternate = (String)tokenAlternate.value;
switch (tokenAlternate.tok) {
+ case Token.asterisk:
case Token.string:
case Token.integer:
case Token.identifier:
@@ -1546,7 +1540,6 @@
default:
return invalidModelSpecification();
}
- String alternate = (String)tokenAlternate.value;
//System.out.println("alternate specification seen:" + alternate);
return generateResidueSpecCode(new Token(Token.spec_alternate, alternate));
}
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java 2006-05-19
03:25:44 UTC (rev 5142)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java 2006-05-19
04:30:14 UTC (rev 5143)
@@ -1961,18 +1961,23 @@
BitSet getSpecSeqcode(int seqcode) {
BitSet bsResno = new BitSet();
int seqNum = (seqcode >> 8);
- if (Group.getInsertionCode(seqcode) == '?') {
+ char insCode = Group.getInsertionCode(seqcode);
+ System.out.println("Frame altsp:"+insCode + " " + seqNum);
+ switch (insCode) {
+ case '?':
for (int i = atomCount; --i >= 0;) {
int atomSeqcode = atoms[i].getSeqcode();
if ((seqNum == 0 || seqNum == (atomSeqcode >> 8))
&& (atomSeqcode & 0xFF) != 0)
bsResno.set(i);
}
- } else {
+ break;
+ default:
for (int i = atomCount; --i >= 0;) {
int atomSeqcode = atoms[i].getSeqcode();
- if (seqcode == atoms[i].getSeqcode() || seqNum == 0
- && seqcode == (atomSeqcode & 0xFF))
+ if (seqcode == atoms[i].getSeqcode()
+ || seqNum == 0 && seqcode == (atomSeqcode & 0xFF)
+ || insCode == '*' && seqNum == (atomSeqcode >> 8))
bsResno.set(i);
}
}
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Group.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Group.java 2006-05-19
03:25:44 UTC (rev 5142)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Group.java 2006-05-19
04:30:14 UTC (rev 5143)
@@ -192,8 +192,8 @@
return sequenceNumber;
if (! ((insertionCode >= 'A' && insertionCode <= 'Z') ||
(insertionCode >= 'a' && insertionCode <= 'z') ||
- (insertionCode >= '0' && insertionCode <= '9')) &&
- insertionCode != '?') {
+ (insertionCode >= '0' && insertionCode <= '9') ||
+ insertionCode == '?' || insertionCode == '*')) {
if (insertionCode != ' ' && insertionCode != '\0')
System.out.println("unrecognized insertionCode:" + insertionCode);
insertionCode = '\0';
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jmol-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-commits