summaryrefslogtreecommitdiffstats
path: root/tksao/vector/vectorold.h
diff options
context:
space:
mode:
Diffstat (limited to 'tksao/vector/vectorold.h')
-rw-r--r--tksao/vector/vectorold.h248
1 files changed, 0 insertions, 248 deletions
diff --git a/tksao/vector/vectorold.h b/tksao/vector/vectorold.h
deleted file mode 100644
index 8a9caed..0000000
--- a/tksao/vector/vectorold.h
+++ /dev/null
@@ -1,248 +0,0 @@
-// Copyright (C) 1999-2018
-// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
-// For conditions of distribution and use, see copyright notice in "copyright"
-
-#ifndef __vector_h__
-#define __vector_h__
-
-#include <math.h>
-#include <float.h>
-
-#include <iostream>
-using namespace std;
-
-#include <tk.h>
-
-class Vector;
-class Vertex;
-class Matrix;
-class Translate;
-class Rotate;
-class Scale;
-class FlipX;
-class FlipY;
-class FlipXY;
-class BBox;
-
-class Vector {
- friend class Matrix;
- friend class Translate;
- friend class Scale;
- friend class BBox;
-
- public:
- double v[3];
-
- public:
- Vector() {v[0]=0;v[1]=0;v[2]=1;} // constructor
- Vector(double* f) {v[0]=f[0];v[1]=f[1];v[2]=f[2];} // constructor
- Vector(double x, double y) {v[0]=x;v[1]=y;v[2]=1;} // constructor
- Vector(double x, double y, double z) {v[0]=x;v[1]=y;v[2]=z;} // constructor
- Vector(const Vector& a) {v[0]=a.v[0];v[1]=a.v[1];v[2]=a.v[2];} // copy
- Vector& operator=(const Vector& a)
- {v[0]=a.v[0];v[1]=a.v[1];v[2]=a.v[2];return *this;}
-
- double& operator[](int i) {return v[i];}
- Vector abs();
- double length();
- double angle();
- double avg();
- double max();
- double min();
- Vector round();
- Vector floor();
- Vector ceil();
- Vector invert();
- Vector normalize();
- Vector TkCanvasPs(Tk_Canvas);
-
- friend Vector operator-(const Vector&); // unary minus
- friend Vector operator*(const Vector&, const Matrix&); // vector/matrix mult
- friend double operator*(const Vector&, const Vector&); // dot product
-
- friend ostream& operator<<(ostream&, const Vector&);
- friend istream& operator>>(istream&, Vector&);
-
- Vector& operator+=(const Vector&); // addition
- Vector& operator-=(const Vector&); // subtraction
- Vector& operator*=(double); // scalar multipy
- Vector& operator/=(double); // scalar division
- Vector& operator*=(const Matrix&); // vector multiply
-
- friend BBox intersect(const BBox&, const BBox&);
-
- // the following are not valid for 2D graphics:
- Vector& div(double);
- Vector& minus(const Vector&);
- friend Vector mult(const Vector&, double);
- Vector& operator*=(const Vector&);
- Vector& operator/=(const Vector&);
-};
-
-Vector operator+(const Vector&, const Vector&); // addition
-Vector operator-(const Vector&, const Vector&); // subtration
-Vector operator*(const Vector&, double); // scalar multiply
-Vector operator/(const Vector&, double); // scalar division
-
-Vector cross(Vector&, Vector&);
-
-class Vertex {
-public:
- Vector vector;
-
-private:
- Vertex* next_;
- Vertex* previous_;
-
-public:
- Vertex();
- Vertex(double, double);
- Vertex(const Vector&);
-
- Vertex* next() {return next_;}
- Vertex* previous() {return previous_;}
-
- void setNext(Vertex* v) {next_ = v;}
- void setPrevious(Vertex* v) {previous_ = v;}
-
- friend ostream& operator<<(ostream&, const Vertex&);
-};
-
-class Matrix {
- friend class Vector;
- friend class Translate;
- friend class Rotate;
- friend class Scale;
-
-protected:
- double m[3][3];
-
-public:
- Matrix(); // constructor
- Matrix(const Vector&, const Vector&, const Vector&); // constructor
- Matrix(double, double, double, double, double, double);
- Matrix(const Matrix&); // copy constructor
- Matrix& operator=(const Matrix&); // assignment
-
- Vector operator[](int); // return row
- double matrix(int i, int j) {return m[i][j];} // return element
- Matrix& operator*=(double); // scalar multiply
- Matrix& operator/=(double); // scalar division
- Matrix& operator*=(const Matrix&); // matrix multiply
-
- Matrix invert(); // matrix inverse
-
- Matrix invert2();
- Matrix cofactor();
- Matrix adjoint();
-
- Matrix abs(); // returns abs with no translation
- Matrix& identity(); // sets to identity matrix;
- int isIdentity();
-
- double* mm() {return (double*)m;}
-
- friend Vector operator*(const Vector&, const Matrix&); // vector/matrix mult
- friend ostream& operator<<(ostream&, const Matrix&);
- friend istream& operator>>(istream&, Matrix&);
-};
-
-Matrix operator*(const Matrix&, double); // scalar multiply
-Matrix operator/(const Matrix&, double); // scalar division
-Matrix operator*(const Matrix&, const Matrix&); // matrix multiply
-
-class Translate : public Matrix {
-public:
- Translate() {}; // constructor
- Translate(double, double); // constructor
- Translate(const Vector&); // constructor
- Translate(const Matrix&); // copy constructor
- Translate& operator=(const Matrix&); // assignment
-
- friend ostream& operator<<(ostream&, const Translate&);
- friend istream& operator>>(istream&, Translate&);
-};
-
-class Rotate : public Matrix {
-public:
- Rotate() {}; // constructor
- Rotate(double); // constructor
- Rotate(double, double, double, double); // constructor
- Rotate(const Matrix&); // copy constructor
- Rotate& operator=(const Matrix&); // assignment
-
- friend ostream& operator<<(ostream&, const Rotate&);
- friend istream& operator>>(istream&, Rotate&);
-};
-
-class Scale : public Matrix {
-public:
- Scale() {}; // constructor
- Scale(double); // constructor
- Scale(double, double); // constructor
- Scale(const Vector&); // constructor
- Scale(const Matrix&); // copy constructor
- Scale& operator=(const Matrix&); // assignment
-
- friend ostream& operator<<(ostream&, const Scale&);
- friend istream& operator>>(istream&, Scale&);
-};
-
-class FlipX : public Matrix {
-public:
- FlipX(); // constructor
-};
-
-class FlipY : public Matrix {
-public:
- FlipY(); // constructor
-};
-
-class FlipXY : public Matrix {
-public:
- FlipXY(); // constructor
-};
-
-class BBox {
-public:
- Vector ll;
- Vector ur;
-
-public:
- BBox() {}
- BBox(const Vector&, const Vector&);
- BBox(const Vector&);
- BBox(double, double);
- BBox(double, double, double, double);
-
- BBox& operator+=(const Vector&); // addition
- BBox& operator-=(const Vector&); // subtraction
- BBox& operator*=(const Matrix&); // multiplication
-
- int isIn(const Vector&) const;
- int isIn(const BBox&) const;
- int isEmpty() const;
- Vector center();
- Vector size();
- Vector lr() {return Vector(ur[0],ll[1]);}
- Vector ul() {return Vector(ll[0],ur[1]);}
- BBox& expand(double);
- BBox& expand(const Vector&);
- BBox& shrink(double);
- BBox& shrink(const Vector&);
- BBox& bound(const Vector&);
- BBox& bound(BBox);
-
- friend ostream& operator<<(ostream&, const BBox&);
-};
-
-BBox operator+(const BBox&, const Vector&); // addition
-BBox operator-(const BBox&, const Vector&); // subtraction
-BBox operator*(const BBox&, const Matrix&);
-BBox intersect(const BBox&, const BBox&);
-
-#endif
-
-
-
-