#include <QtGui>
#include "container.h"
#include "dimension.h"
+#include "geometry.h"
#include "mathconstants.h"
#include "painter.h"
/*virtual*/ bool Line::Collided(Vector point)
{
+ // Someone told us to fuck off, so we'll fuck off. :-)
+ if (ignoreClicks)
+ return false;
+
// We can assume this, since this is a mouse down event here.
objectWasDragged = false;
HitTest(point);
Vector lineSegment = endpoint - position;
Vector v1 = point - position;
Vector v2 = point - endpoint;
- double t = Vector::Parameter(position, endpoint, point);
+// double t = Vector::Parameter(position, endpoint, point);
+ double t = Geometry::ParameterOfLineAndPoint(position, endpoint, point);
double distance;
// Geometric interpretation:
}
+/*virtual*/ void Line::Mirror(Point p1, Point p2)
+{
+ Point l1 = Geometry::MirrorPointAroundLine(position, p1, p2);
+ Point l2 = Geometry::MirrorPointAroundLine(endpoint, p1, p2);
+ position = l1;
+ endpoint = l2;
+}
+
+
+/*virtual*/ void Line::Save(void)
+{
+ Object::Save();
+ oldEndpoint = endpoint;
+}
+
+
+/*virtual*/ void Line::Restore(void)
+{
+ Object::Restore();
+ endpoint = oldEndpoint;
+}
+
+
void Line::SetDimensionOnLine(Dimension * dimension/*=NULL*/)
{
// If they don't pass one in, create it for the caller.