From: Bob H. <ha...@st...> - 2006-05-14 07:13:36
|
First, be sure you are looking at bob200603, not the preliminary stuff I put in the trunk. I presume that's true with everything I've done, but I thought I'd make sure that is your reference point. The Symmetry.java in the trunk was just a placeholder. In any case, I've removed it from the trunk because there's no point in anyone looking at that now. They are definitely used. The symmetry operations utilize rotation/translation 4x4 matrices that these points are multiplied by to give the final point3f. If you haven't downloaded bob200603 recently, you should synchronize now. Miguel wrote: >Bob, > >I have some questions about src/org/jmol/adapter/smarter/Symmetry.java ... > >You are allocating some objects of type Point4f. As far as I can tell, the >4th parameter is set to 1 and is never used ... so, it seems to me that >Point3f would be sufficient. Point4f objects are not used anywhere else in >Jmol. > >Q: Is there any reason why you used Point4f objects in Symmetry.java? > > >Regarding the method isUnityOperation ... > >It is not called from anyplace. There is a comment that says: > > // unused -- it's best to leave x,y,z in there. > >I have doubts as to whether or not this routine would even work as >intended, given the general problems of doing equality comparisons with >floating point numbers. That is, in the general case I believe that there >will be situations in which > > please just leave that. The unity operations described in CIF files are 1 1 1 -- very clean. It works, trust me. I just didn't need it in the end. But I want to leave it in there. > temp.equals(temp2) > >will return 'false' when the actual (symbolic) answer is 'true'. > >Q: Can we remove this routine? > > > no >The method setMatrixFromXYZ is parsing a string. > >Q: Is there a URL reference that we can introduce that documents the >syntax for this string? > > > The URL is at the top of Symmetry.java And you can look in any CIF file. Basically you can have any readable linear expression in x, y, and z:, including unary operators and simple fractions, each separated by a comma from the next: x + 0.5, 1/3 + y, -z - 1/2 Bob |