8 class Line: public Object
11 Line(Vector, Vector, Object * p = 0);
14 virtual void Draw(Painter *);
15 virtual Vector Center(void);
16 virtual bool Collided(Vector);
17 virtual void PointerMoved(Vector);
18 virtual void PointerReleased(void);
19 virtual bool HitTest(Point);
20 virtual Vector * GetPointAt(Vector);
21 virtual void Enumerate(FILE *);
22 virtual Object * Copy(void);
23 virtual Vector GetPointAtParameter(double parameter);
24 virtual QRectF Extents(void);
25 virtual void Translate(Vector);
26 virtual void Rotate(Point, double);
27 virtual void Scale(Vector, double);
28 virtual void Mirror(Point, Point);
29 virtual void Save(void);
30 virtual void Restore(void);
31 void SetDimensionOnLine(Dimension * d = 0);
32 Object * FindAttachedDimension(void);
35 void SaveHitState(void);
36 bool HitStateChanged(void);
39 Vector endpoint; // Starting point is Object::position
40 Vector oldPoint; // Used for dragging
47 bool objectWasDragged;
50 bool hitPoint1, hitPoint2, hitLine;
51 bool oldHitPoint1, oldHitPoint2, oldHitLine;