]> git.saurik.com Git - wxWidgets.git/commitdiff
added missing functions
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Jan 2002 15:59:44 +0000 (15:59 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Jan 2002 15:59:44 +0000 (15:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/geometry.cpp

index d53b1f9a57ee409aa3bd33a1fd77732e9c403403..bf8591fd67ca757a9194326bb2e84f08fa5810ab 100644 (file)
@@ -187,6 +187,42 @@ wxDouble wxPoint2DInt::GetVectorAngle()
 }
 
 
+void wxPoint2DInt::SetVectorAngle( wxDouble degrees ) {
+       wxDouble length = this->GetVectorLength() ;
+       m_x = length * cos( degrees / 180 * 3.14159265359 ) ;
+       m_y = length * sin( degrees / 180 * 3.14159265359 ) ;
+}
+       
+wxDouble wxPoint2DDouble::GetVectorAngle() const
+{
+       if ( m_x == 0 )
+       {
+               if ( m_y >= 0 )
+                       return 90 ;
+               else
+                       return 270 ;
+       }
+       if ( m_y == 0 )
+       {
+               if ( m_x >= 0 )
+                       return 0 ;
+               else
+                       return 180 ;
+       }
+       wxDouble deg = atan2( m_y , m_x ) * 180 / 3.14159265359 ;
+       if ( deg < 0 )
+       {
+               deg += 360 ;
+       }
+       return deg ;
+}
+
+void wxPoint2DDouble::SetVectorAngle( wxDouble degrees ) {
+       wxDouble length = this->GetVectorLength() ;
+       m_x = length * cos( degrees / 180 * 3.14159265359 ) ;
+       m_y = length * sin( degrees / 180 * 3.14159265359 ) ;
+}
+
 // wxRect2D
 
 bool wxRect2DInt::Intersects( const wxRect2DInt &rect ) const