setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
Global::gridSpacing = 12.0; // In base units (inch is default)
-
#if 0
Line * line = new Line(Vector(5, 5), Vector(50, 40), &document);
document.Add(line);
// Do object hit testing...
bool needUpdate = HitTestObjects(point);
+ GetHovered(hover);
// Check for multi-hover...
if (numHovered > 1)
{
- GetHovered(hover);
+//need to check for case where hover is over 2 circles and a 3rd's center...
Object * obj1 = (Object *)hover[0], * obj2 = (Object *)hover[1];
Geometry::Intersects(obj1, obj2);
{
if (hoveringIntersection)
point = intersectionPoint;
+ else if (hoverPointValid)
+ point = hoverPoint;
else if (Global::snapToGrid)
point = SnapPointToGrid(point);
{
if (hoveringIntersection)
point = intersectionPoint;
+ else if (hoverPointValid)
+ point = hoverPoint;
else if (Global::snapToGrid)
point = SnapPointToGrid(point);
std::vector<void *>::iterator i;
numHovered = 0;
bool needUpdate = false;
+ hoverPointValid = false;
for(i=document.objects.begin(); i!=document.objects.end(); i++)
{
/ lineSegment.Magnitude());
if ((v1.Magnitude() * Global::zoom) < 8.0)
+ {
obj->hitPoint[0] = true;
+ hoverPoint = obj->p[0];
+ hoverPointValid = true;
+ }
else if ((v2.Magnitude() * Global::zoom) < 8.0)
+ {
obj->hitPoint[1] = true;
+ hoverPoint = obj->p[1];
+ hoverPointValid = true;
+ }
else if ((distance * Global::zoom) < 5.0)
obj->hitObject = true;