1 #ifndef ____VECTORSOLUTIONS_H____
2 #define ____VECTORSOLUTIONS_H____
4 #include <iostream> // Needed for 'friend ostream' below
8 * Represents one to 4 vectors. Typically used to return multiple
9 * solutions from a function.
15 VectorSolutions(const VectorSolutions & s);
16 VectorSolutions(int num);
17 VectorSolutions(const Vector & v1);
18 VectorSolutions(const Vector & v1, const Vector & v2);
19 VectorSolutions(const Vector & v1, const Vector & v2, const Vector & v3);
20 VectorSolutions(const Vector & v1, const Vector & v2, const Vector & v3,
22 VectorSolutions(const Vector & v1, const Vector & v2, const Vector & v3,
23 const Vector & v4, const Vector & v5);
29 Vector get(int i) const;
30 int getNumber() const;
31 bool hasValid() const;
32 void set(int i, const Vector & v);
33 void setTangent(bool t);
34 bool isTangent() const;
35 Vector getClosest(const Vector & coord, double * dist = NULL, int * index = NULL) const;
36 void rotate(Vector center, double ang);
37 void scale(Vector center, Vector factor);
39 VectorSolutions operator=(const VectorSolutions & s);
41 friend std::ostream & operator<<(std::ostream & os, const VectorSolutions & s);
49 #endif // __VECTORSOLUTIONS_H____