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