You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
961 B
45 lines
961 B
// VTR.H
|
|
#ifndef VTR_H
|
|
#define VTR_H
|
|
|
|
class vtr {
|
|
friend double dotP(vtr, vtr);
|
|
friend double Length(vtr);
|
|
friend double Determinant(vtr, vtr, vtr);
|
|
|
|
private:
|
|
double x, y, z;
|
|
|
|
public:
|
|
// constructor
|
|
vtr(double =0.0, double =0.0, double =0.0);
|
|
|
|
// operators
|
|
vtr operator+(const vtr &) const;
|
|
vtr operator-(const vtr &) const;
|
|
vtr operator*(const vtr &) const;
|
|
vtr operator*(const double &) const;
|
|
vtr operator/(const double &) const;
|
|
vtr& operator=(const vtr &);
|
|
|
|
// set functions
|
|
void setvtr(double, double, double);
|
|
void reset();
|
|
void unitvtr();
|
|
void addvtr(double = 0.0, double = 0.0, double = 0.0);
|
|
void subvtr(double = 0.0, double = 0.0, double = 0.0);
|
|
void Scale(double = 1.0);
|
|
void negate();
|
|
|
|
// get functions
|
|
double getx() const;
|
|
double gety() const;
|
|
double getz() const;
|
|
double magnitude();
|
|
double magSquare();
|
|
|
|
// print
|
|
void print();
|
|
};
|
|
|
|
#endif
|
|
|