Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/vector.hpp

    r9c20aa r2319ed  
    88 */
    99class Vector {
    10         public:
    11                 double x[NDIM];
     10  public:
     11    double x[NDIM];
    1212
    13         Vector();
    14         Vector(double x1, double x2, double x3);
    15         ~Vector();
     13  Vector();
     14  Vector(double x1, double x2, double x3);
     15  ~Vector();
    1616
    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         bool IsNull();
     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 NormSquared() const;
     25  double Angle(const Vector *y) const;
    2626
    27 
    28         void AddVector(const Vector *y);
    29         void SubtractVector(const Vector *y);
    30         void CopyVector(const Vector *y);
    31         void RotateVector(const Vector *y, const double alpha);
    32         void VectorProduct(const Vector *y);
    33         void ProjectOntoPlane(const Vector *y);
    34         void Zero();
    35         void One(double one);
    36         void Init(double x1, double x2, double x3);
    37         void Normalize();
    38         void Translate(const Vector *x);
    39         void Mirror(const Vector *x);
    40         void Scale(double **factor);
    41         void Scale(double *factor);
    42         void Scale(double factor);
    43         void MatrixMultiplication(double *M);
    44         void InverseMatrixMultiplication(double *M);
    45         void KeepPeriodic(ofstream *out, double *matrix);
    46         void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors);
    47         double CutsPlaneAt(Vector *A, Vector *B, Vector *C);
    48         bool GetOneNormalVector(const Vector *x1);
    49         bool MakeNormalVector(const Vector *y1);
    50         bool MakeNormalVector(const Vector *y1, const Vector *y2);
    51         bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3);
    52         bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c);
    53         bool LSQdistance(Vector **vectors, int dim);
    54         void AskPosition(double *cell_size, bool check);
    55         bool Output(ofstream *out) const;
     27  void AddVector(const Vector *y);
     28  void SubtractVector(const Vector *y);
     29  void CopyVector(const Vector *y);
     30  void RotateVector(const Vector *y, const double alpha);
     31  void VectorProduct(const Vector *y);
     32  void ProjectOntoPlane(const Vector *y);
     33  void Zero();
     34  void One(double one);
     35  void Init(double x1, double x2, double x3);
     36  void Normalize();
     37  void Translate(const Vector *x);
     38  void Mirror(const Vector *x);
     39  void Scale(double **factor);
     40  void Scale(double *factor);
     41  void Scale(double factor);
     42  void MatrixMultiplication(double *M);
     43  double * InverseMatrix(double *A);
     44  void InverseMatrixMultiplication(double *M);
     45  void KeepPeriodic(ofstream *out, double *matrix);
     46  void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors);
     47  double CutsPlaneAt(Vector *A, Vector *B, Vector *C);
     48  bool GetIntersectionWithPlane(ofstream *out, Vector *PlaneNormal, Vector *PlaneOffset, Vector *LineVector, Vector *LineVector2);
     49  bool GetIntersectionOfTwoLinesOnPlane(ofstream *out, Vector *Line1a, Vector *Line1b, Vector *Line2a, Vector *Line2b);
     50  bool GetOneNormalVector(const Vector *x1);
     51  bool MakeNormalVector(const Vector *y1);
     52  bool MakeNormalVector(const Vector *y1, const Vector *y2);
     53  bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3);
     54  bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c);
     55  bool LSQdistance(Vector **vectors, int dim);
     56  void AskPosition(double *cell_size, bool check);
     57  bool Output(ofstream *out) const;
    5658};
    5759
    58 ostream & operator << (ostream& ost, const Vector &m);
     60ostream & operator << (ostream& ost, Vector &m);
    5961//Vector& operator+=(Vector& a, const Vector& b);
    6062//Vector& operator*=(Vector& a, const double m);
Note: See TracChangeset for help on using the changeset viewer.