- this.x = (float) (new Float(str.substring(30, 38).trim()).floatValue());
- this.y = (float) (new Float(str.substring(38, 46).trim()).floatValue());
- this.z = (float) (new Float(str.substring(47, 55).trim()).floatValue());
- occupancy = (float) (new Float(str.substring(54,60).trim()).floatValue());
- tfactor = (float) (new Float(str.substring(60,66).trim()).floatValue());
+ this.x = (Float.valueOf(str.substring(30, 38).trim()).floatValue());
+ this.y = (Float.valueOf(str.substring(38, 46).trim()).floatValue());
+ this.z = (Float.valueOf(str.substring(47, 55).trim()).floatValue());
+ // optional entries - see JAL-730
+ String tm = str.substring(54, 60).trim();
+ if (tm.length() > 0)
+ {
+ occupancy = (Float.valueOf(tm)).floatValue();
+ }
+ else
+ {
+ occupancy = 1f; // default occupancy
+ // see note above: occset=false;
+ }
+ tm = str.substring(60, 66).trim();
+ if (tm.length() > 0)
+ {
+ tfactor = (Float.valueOf(tm).floatValue());
+ }
+ else
+ {
+ tfactor = 1f;
+ // see note above: tfacset=false;
+ }
+ }
+
+ @Override
+ public boolean equals(Object that)
+ {
+ if (this == that || that == null)
+ {
+ return true;
+ }
+ if (that instanceof Atom)
+ {
+ Atom other = (Atom) that;
+ return other.resName.equals(this.resName)
+ && other.resNumber == this.resNumber
+ && other.resNumIns.equals(this.resNumIns)
+ && other.chain.equals(this.chain);
+ }
+ return false;