[commit] r2140 - in trunk: GME/Gme/AutoRoute Paradigms/MetaGME/MetaDecorator
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Tue Jan 15 14:30:34 CST 2013
Author: ksmyth
Date: Tue Jan 15 14:30:34 2013
New Revision: 2140
Log:
Fix bug where connections were never straight: now that elements' top left corner are aligned on GME grid (instead of centered), autorouter needs to change to start/end connections in the center of a grid
Modified:
trunk/GME/Gme/AutoRoute/AutoRouterPort.cpp
trunk/Paradigms/MetaGME/MetaDecorator/DecoratorStd.h
Modified: trunk/GME/Gme/AutoRoute/AutoRouterPort.cpp
==============================================================================
--- trunk/GME/Gme/AutoRoute/AutoRouterPort.cpp Tue Jan 15 14:29:36 2013 (r2139)
+++ trunk/GME/Gme/AutoRoute/AutoRouterPort.cpp Tue Jan 15 14:30:34 2013 (r2140)
@@ -263,6 +263,11 @@
return point;
}
+static inline LONG RoundToHalfGrid(LONG left, LONG right)
+{
+ return ((right + left) / 2) / GME_GRID_SIZE * GME_GRID_SIZE + (GME_GRID_SIZE / 2);
+}
+
CPoint CAutoRouterPort::CreateStartEndPointOn(RoutingDirection dir) const
{
ASSERT( !rect.IsRectEmpty() );
@@ -271,16 +276,16 @@
switch( dir )
{
case Dir_Top:
- return CPoint((rect.left + rect.right) / 2, rect.top);
+ return CPoint(RoundToHalfGrid(rect.left, rect.right), rect.top);
case Dir_Bottom:
- return CPoint((rect.left + rect.right) / 2, rect.bottom - 1);
+ return CPoint(RoundToHalfGrid(rect.left, rect.right), rect.bottom - 1);
case Dir_Left:
- return CPoint(rect.left, (rect.top + rect.bottom) / 2);
+ return CPoint(rect.left, RoundToHalfGrid(rect.top, rect.bottom));
}
- return CPoint(rect.right - 1, (rect.top + rect.bottom) / 2);
+ return CPoint(rect.right - 1, RoundToHalfGrid(rect.top, rect.bottom));
}
CPoint CAutoRouterPort::CreateStartEndPointTo(const CPoint& point, bool isStart) const
Modified: trunk/Paradigms/MetaGME/MetaDecorator/DecoratorStd.h
==============================================================================
--- trunk/Paradigms/MetaGME/MetaDecorator/DecoratorStd.h Tue Jan 15 14:29:36 2013 (r2139)
+++ trunk/Paradigms/MetaGME/MetaDecorator/DecoratorStd.h Tue Jan 15 14:30:34 2013 (r2140)
@@ -44,7 +44,7 @@
#define META_DECORATOR_MARGINY 4
#define META_DECORATOR_GAPY 0
#define META_DECORATOR_MINATTRSIZE 13
-#define META_INHERITANCE_WIDTH 24
+#define META_INHERITANCE_WIDTH 21
// sin 60
#define META_INHERITANCE_RATIO 0.86602540378443864676372317075294
#define META_INHERITANCE_HEIGHT (META_INHERITANCE_RATIO * META_INHERITANCE_WIDTH)
More information about the gme-commit
mailing list