GAL::GetGridPoint() returns point in world coordinates.

This commit is contained in:
Maciej Suminski 2014-02-14 14:16:08 +01:00
parent a7cb90deb8
commit 3ecae4fa52
3 changed files with 8 additions and 8 deletions

View File

@ -237,10 +237,10 @@ void GAL::DrawGrid()
VECTOR2D GAL::GetGridPoint( const VECTOR2D& aPoint ) const VECTOR2D GAL::GetGridPoint( const VECTOR2D& aPoint ) const
{ {
VECTOR2D pointWorld = ToWorld( aPoint ); VECTOR2D gridPoint;
pointWorld.x = round( pointWorld.x / gridSize.x ) * gridSize.x; gridPoint.x = round( aPoint.x / gridSize.x ) * gridSize.x;
pointWorld.y = round( pointWorld.y / gridSize.y ) * gridSize.y; gridPoint.y = round( aPoint.y / gridSize.y ) * gridSize.y;
return ToScreen( pointWorld ); return gridPoint;
} }

View File

@ -247,7 +247,7 @@ VECTOR2D WX_VIEW_CONTROLS::GetCursorPosition() const
VECTOR2D mousePosition = GetMousePosition(); VECTOR2D mousePosition = GetMousePosition();
if( m_snappingEnabled ) if( m_snappingEnabled )
return m_view->ToWorld( m_view->GetGAL()->GetGridPoint( mousePosition ) ); return m_view->GetGAL()->GetGridPoint( m_view->ToWorld( mousePosition ) );
else else
return m_view->ToWorld( mousePosition ); return m_view->ToWorld( mousePosition );
} }

View File

@ -717,15 +717,15 @@ public:
gridLineWidth = aGridLineWidth; gridLineWidth = aGridLineWidth;
} }
/// @brief Draw the grid ///> @brief Draw the grid
void DrawGrid(); void DrawGrid();
/** /**
* Function GetGridPoint() * Function GetGridPoint()
* For a given point it returns the nearest point belonging to the grid in screen coordinates. * For a given point it returns the nearest point belonging to the grid in world coordinates.
* *
* @param aPoint is the point for which the grid point is searched. * @param aPoint is the point for which the grid point is searched.
* @return The nearest grid point in screen coordinates. * @return The nearest grid point in world coordinates.
*/ */
VECTOR2D GetGridPoint( const VECTOR2D& aPoint ) const; VECTOR2D GetGridPoint( const VECTOR2D& aPoint ) const;