Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/vector.hpp

    r8e17d6 r0c7ed8  
    1111#endif
    1212
    13 #include <iosfwd>
     13#include <iostream>
     14#include <gsl/gsl_vector.h>
     15#include <gsl/gsl_multimin.h>
    1416
    1517#include <memory>
     
    2224
    2325class Vector;
    24 class Matrix;
    25 struct VectorContent;
    2626
    2727typedef std::vector<Vector> pointset;
     
    3131 */
    3232class Vector : public Space{
    33   friend Vector operator*(const Matrix&,const Vector&);
    34   friend class Matrix;
    3533public:
     34
    3635  Vector();
    3736  Vector(const double x1, const double x2, const double x3);
     
    4342  double DistanceSquared(const Vector &y) const;
    4443  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;
    4546  double ScalarProduct(const Vector &y) const;
    4647  double Angle(const Vector &y) const;
     
    5758  Vector Projection(const Vector &y) const;
    5859  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);
    6164  bool GetOneNormalVector(const Vector &x1);
    6265  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);
    6368  std::pair<Vector,Vector> partition(const Vector&) const;
    6469  std::pair<pointset,Vector> partition(const pointset&) const;
     
    7479
    7580  // Access to internal structure
    76   VectorContent* get();
     81  gsl_vector* get();
    7782
    7883  // Methods that are derived directly from other methods
     
    99104
    100105private:
    101   Vector(VectorContent *);
    102   VectorContent *content;
     106  gsl_vector *content;
    103107
    104108};
Note: See TracChangeset for help on using the changeset viewer.