Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/vector.hpp

    r0c7ed8 r8e17d6  
    1111#endif
    1212
    13 #include <iostream>
    14 #include <gsl/gsl_vector.h>
    15 #include <gsl/gsl_multimin.h>
     13#include <iosfwd>
    1614
    1715#include <memory>
     
    2422
    2523class Vector;
     24class Matrix;
     25struct VectorContent;
    2626
    2727typedef std::vector<Vector> pointset;
     
    3131 */
    3232class Vector : public Space{
     33  friend Vector operator*(const Matrix&,const Vector&);
     34  friend class Matrix;
    3335public:
    34 
    3536  Vector();
    3637  Vector(const double x1, const double x2, const double x3);
     
    4243  double DistanceSquared(const Vector &y) const;
    4344  double DistanceToSpace(const Space& space) const;
    44   double PeriodicDistance(const Vector &y, const double * const cell_size) const;
    45   double PeriodicDistanceSquared(const Vector &y, const double * const cell_size) const;
    4645  double ScalarProduct(const Vector &y) const;
    4746  double Angle(const Vector &y) const;
     
    5857  Vector Projection(const Vector &y) const;
    5958  void ScaleAll(const double *factor);
     59  void ScaleAll(const Vector &factor);
    6060  void Scale(const double factor);
    61   void MatrixMultiplication(const double * const M);
    62   bool InverseMatrixMultiplication(const double * const M);
    63   void KeepPeriodic(const double * const matrix);
    6461  bool GetOneNormalVector(const Vector &x1);
    6562  bool MakeNormalTo(const Vector &y1);
    66   bool IsInParallelepiped(const Vector &offset, const double * const parallelepiped) const;
    67   void WrapPeriodically(const double * const M, const double * const Minv);
    6863  std::pair<Vector,Vector> partition(const Vector&) const;
    6964  std::pair<pointset,Vector> partition(const pointset&) const;
     
    7974
    8075  // Access to internal structure
    81   gsl_vector* get();
     76  VectorContent* get();
    8277
    8378  // Methods that are derived directly from other methods
     
    10499
    105100private:
    106   gsl_vector *content;
     101  Vector(VectorContent *);
     102  VectorContent *content;
    107103
    108104};
Note: See TracChangeset for help on using the changeset viewer.