Changes in src/vector.hpp [6ac7ee:042f82]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/vector.hpp
r6ac7ee r042f82 8 8 */ 9 9 class Vector { 10 11 10 public: 11 double x[NDIM]; 12 12 13 14 15 13 Vector(); 14 Vector(double x1, double x2, double x3); 15 ~Vector(); 16 16 17 18 19 20 21 22 23 24 17 double Distance(const Vector *y) const; 18 double DistanceSquared(const Vector *y) const; 19 double PeriodicDistance(const Vector *y, const double *cell_size) const; 20 double PeriodicDistanceSquared(const Vector *y, const double *cell_size) const; 21 double ScalarProduct(const Vector *y) const; 22 double Projection(const Vector *y) const; 23 double Norm() const ; 24 double Angle(const Vector *y) const; 25 25 26 void AddVector(const Vector *y); 27 void SubtractVector(const Vector *y); 28 void CopyVector(const Vector *y); 29 void RotateVector(const Vector *y, const double alpha); 30 void VectorProduct(const Vector *y); 31 void ProjectOntoPlane(const Vector *y); 32 void Zero(); 33 void One(double one); 34 void Init(double x1, double x2, double x3); 35 void Normalize(); 36 void Translate(const Vector *x); 37 void Mirror(const Vector *x); 38 void Scale(double **factor); 39 void Scale(double *factor); 40 void Scale(double factor); 41 void MatrixMultiplication(double *M); 42 void InverseMatrixMultiplication(double *M); 43 void KeepPeriodic(ofstream *out, double *matrix); 44 void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors); 45 double CutsPlaneAt(Vector *A, Vector *B, Vector *C); 46 bool GetOneNormalVector(const Vector *x1); 47 bool MakeNormalVector(const Vector *y1); 48 bool MakeNormalVector(const Vector *y1, const Vector *y2); 49 bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3); 50 bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c); 51 bool LSQdistance(Vector **vectors, int dim); 52 void AskPosition(double *cell_size, bool check); 53 bool Output(ofstream *out) const; 26 void AddVector(const Vector *y); 27 void SubtractVector(const Vector *y); 28 void CopyVector(const Vector *y); 29 void RotateVector(const Vector *y, const double alpha); 30 void VectorProduct(const Vector *y); 31 void ProjectOntoPlane(const Vector *y); 32 void Zero(); 33 void One(double one); 34 void Init(double x1, double x2, double x3); 35 void Normalize(); 36 void Translate(const Vector *x); 37 void Mirror(const Vector *x); 38 void Scale(double **factor); 39 void Scale(double *factor); 40 void Scale(double factor); 41 void MatrixMultiplication(double *M); 42 double * InverseMatrix(double *A); 43 void InverseMatrixMultiplication(double *M); 44 void KeepPeriodic(ofstream *out, double *matrix); 45 void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors); 46 double CutsPlaneAt(Vector *A, Vector *B, Vector *C); 47 bool GetOneNormalVector(const Vector *x1); 48 bool MakeNormalVector(const Vector *y1); 49 bool MakeNormalVector(const Vector *y1, const Vector *y2); 50 bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3); 51 bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c); 52 bool LSQdistance(Vector **vectors, int dim); 53 void AskPosition(double *cell_size, bool check); 54 bool Output(ofstream *out) const; 54 55 }; 55 56
Note:
See TracChangeset
for help on using the changeset viewer.