ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/math/Quaternion.hpp
(Generate patch)

Comparing:
trunk/src/math/Quaternion.hpp (file contents), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/math/Quaternion.hpp (file contents), Revision 1686 by gezelter, Sat Mar 10 04:21:44 2012 UTC

# Line 36 | Line 36
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38   * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43   /**
# Line 254 | Line 255 | namespace OpenMD{
255         return rotation angle from -PI to PI
256      */
257      inline Real get_rotation_angle() const{
258 <      if( w < (Real)0.0 )
258 >      if( w() < (Real)0.0 )
259          return 2.0*atan2(-sqrt( x()*x() + y()*y() + z()*z() ), -w() );
260        else
261          return 2.0*atan2( sqrt( x()*x() + y()*y() + z()*z() ),  w() );
# Line 312 | Line 313 | namespace OpenMD{
313                                 c.z());
314  
315        this->normalize();    // if "from" or "to" not unit, normalize quat
316 <      w += 1.0f;            // reducing angle to halfangle
317 <      if( w <= 1e-6 ) {     // angle close to PI
316 >      w() += 1.0f;            // reducing angle to halfangle
317 >      if( w() <= 1e-6 ) {     // angle close to PI
318          if( ( from.z()*from.z() ) > ( from.x()*from.x() ) ) {
319 <          this->data_[0] =  w;    
319 >          this->data_[0] =  w();    
320            this->data_[1] =  0.0;       //cross(from , Vector3d(1,0,0))
321            this->data_[2] =  from.z();
322            this->data_[3] = -from.y();
323          } else {
324 <          this->data_[0] =  w;
324 >          this->data_[0] =  w();
325            this->data_[1] =  from.y();  //cross(from, Vector3d(0,0,1))
326            this->data_[2] = -from.x();
327            this->data_[3] =  0.0;

Comparing:
trunk/src/math/Quaternion.hpp (property svn:keywords), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/math/Quaternion.hpp (property svn:keywords), Revision 1686 by gezelter, Sat Mar 10 04:21:44 2012 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines