diff -u -r geometry.orig/strategies/strategy_transform.hpp geometry/strategies/strategy_transform.hpp
      
        
          
        
        
          
            | 
              old
             | 
            
              new
             | 
            
              
               
             | 
          
        
        
          
            | 251 | 251 |         return false; | 
          
          
            | 252 | 252 |     } | 
          
          
            | 253 | 253 |  | 
          
        
        
          
            |   | 254 |         template <typename P, typename T> | 
          
          
            |   | 255 |         inline bool cartesian_to_spherical_equatorial3(T x, T y, T z, P& p) | 
          
          
            |   | 256 |         { | 
          
          
            |   | 257 |                 assert_dimension<P, 3>(); | 
          
          
            |   | 258 |  | 
          
          
            |   | 259 |                 // http://en.wikipedia.org/wiki/List_of_canonical_coordinate_transformations#From_Cartesian_coordinates | 
          
          
            |   | 260 |                 T const r = sqrt(x * x + y * y + z * z); | 
          
          
            |   | 261 |                 set<2>(p, r); | 
          
          
            |   | 262 |                 set_from_radian<0>(p, atan2(y, x)); | 
          
          
            |   | 263 |                 if (r > 0.0) | 
          
          
            |   | 264 |                 { | 
          
          
            |   | 265 |                         set_from_radian<1>(p, asin(z / r)); | 
          
          
            |   | 266 |                         return true; | 
          
          
            |   | 267 |                 } | 
          
          
            |   | 268 |                 return false; | 
          
          
            |   | 269 |         } | 
          
          
            |   | 270 |  | 
          
        
        
          
            | 254 | 271 | } // namespace detail | 
          
          
            | 255 | 272 | #endif // DOXYGEN_NO_DETAIL | 
          
          
            | 256 | 273 |  | 
          
        
        
          
            | … | 
            … | 
            
              
               
             | 
          
        
        
          
            | 361 | 378 |     } | 
          
          
            | 362 | 379 | }; | 
          
          
            | 363 | 380 |  | 
          
        
        
          
            |   | 381 | template <typename P1, typename P2> | 
          
          
            |   | 382 | struct from_cartesian_3_to_spherical_equatorial_3 | 
          
          
            |   | 383 | { | 
          
          
            |   | 384 |         inline bool apply(P1 const& p1, P2& p2) const | 
          
          
            |   | 385 |         { | 
          
          
            |   | 386 |                 assert_dimension<P1, 3>(); | 
          
          
            |   | 387 |                 return detail::cartesian_to_spherical_equatorial3(get<0>(p1), get<1>(p1), get<2>(p1), p2); | 
          
          
            |   | 388 |         } | 
          
          
            |   | 389 | }; | 
          
          
            |   | 390 |  | 
          
        
        
          
            | 364 | 391 | #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS | 
          
          
            | 365 | 392 |  | 
          
          
            | 366 | 393 | namespace services | 
          
        
        
          
            | … | 
            … | 
            
              
               
             | 
          
        
        
          
            | 454 | 481 | { | 
          
          
            | 455 | 482 |     typedef from_cartesian_3_to_spherical_polar_3<P1, P2> type; | 
          
          
            | 456 | 483 | }; | 
          
        
        
          
            |   | 484 | template <typename CoordSys1, typename CoordSys2, typename P1, typename P2> | 
          
          
            |   | 485 | struct default_strategy<cartesian_tag, spherical_equatorial_tag, CoordSys1, CoordSys2, 3, 3, P1, P2> | 
          
          
            |   | 486 | { | 
          
          
            |   | 487 |         typedef from_cartesian_3_to_spherical_equatorial_3<P1, P2> type; | 
          
          
            |   | 488 | }; | 
          
        
        
          
            | 457 | 489 |  | 
          
          
            | 458 | 490 |  | 
          
          
            | 459 | 491 | } // namespace services |