#ifndef __DIMENSION_H__
#define __DIMENSION_H__
+#include "connection.h"
#include "object.h"
enum DimensionType { DTLinear, DTRadial, DTDiametric, DTCircumferential, DTLeader };
{
public:
Dimension(Vector, Vector, DimensionType dt = DTLinear, Object * p = 0);
- Dimension(Vector *, Vector *, DimensionType dt = DTLinear, Object * p = 0);
+// Dimension(Vector *, Vector *, DimensionType dt = DTLinear, Object * p = 0);
+ Dimension(Connection, Connection, DimensionType dt = DTLinear, Object * p = 0);
~Dimension();
virtual void Draw(Painter *);
virtual void PointerMoved(Vector);
virtual void PointerReleased(void);
virtual void Enumerate(FILE *);
- virtual Object * Copy(void);
- void SetPoint1(Vector *);
- void SetPoint2(Vector *);
- Vector GetPoint1(void);
- Vector GetPoint2(void);
+// virtual Object * Copy(void);
+ virtual Vector GetPointAtParameter(double parameter);
+ virtual void Connect(Object *, double);
+ virtual void Disconnect(Object *, double);
+ virtual void DisconnectAll(Object *);
void FlipSides(void);
protected:
double length;
DimensionType type;
- Vector * point1; // These couple to external points; if there
- Vector * point2; // are none then fall back to endpoint/position
+ // We use these in lieu of the built-in connected[] array; no reason to
+ // do this way especially
+ Connection point1;
+ Connection point2;
};
#endif // __DIMENSION_H__