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 ObjectType Type(void);
26 virtual void Translate(Vector);
27 virtual void Rotate(Vector, double);
28 virtual void Scale(Vector, double);
29 virtual Object * Mirror(Vector, Vector);
30 void SetDimensionOnLine(Dimension * d = 0);
31 Object * FindAttachedDimension(void);
34 void SaveHitState(void);
35 bool HitStateChanged(void);
38 Vector endpoint; // Starting point is Object::position
39 Vector oldPoint; // Used for dragging
45 bool objectWasDragged;
48 bool hitPoint1, hitPoint2, hitLine;
49 bool oldHitPoint1, oldHitPoint2, oldHitLine;