Ignore:
Timestamp:
Apr 15, 2010, 10:54:26 AM (16 years ago)
Author:
Tillmann Crueger <crueger@…>
Children:
32842d8
Parents:
1f591b
Message:

Changed implementation of Vector to forward operations to contained objects

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/SingleVector.hpp

    r1f591b re7ea64  
    3131  virtual ~SingleVector();
    3232
    33   virtual double Distance(const Vector &y) const;
    3433  virtual double DistanceSquared(const Vector &y) const;
    3534  virtual double DistanceToPlane(const Vector &PlaneNormal, const Vector &PlaneOffset) const;
     
    3736  virtual double PeriodicDistanceSquared(const Vector &y, const double * const cell_size) const;
    3837  virtual double ScalarProduct(const Vector &y) const;
    39   virtual double Norm() const;
    40   virtual double NormSquared() const;
    4138  virtual double Angle(const Vector &y) const;
    4239  virtual bool IsZero() const;
     
    4542  virtual bool IsEqualTo(const Vector &a) const;
    4643
     44  virtual void AddVector(const Vector &y);
     45  virtual void SubtractVector(const Vector &y);
    4746  virtual void VectorProduct(const Vector &y);
    4847  virtual void ProjectOntoPlane(const Vector &y);
    4948  virtual void ProjectIt(const Vector &y);
    5049  virtual Vector Projection(const Vector &y) const;
    51   virtual void Zero();
    52   virtual void One(const double one);
    53   virtual void Init(const double x1, const double x2, const double x3);
    54   virtual void Normalize();
    55   virtual void Translate(const Vector &x);
    5650  virtual void Mirror(const Vector &x);
    57   virtual void Scale(const double ** const factor);
    58   virtual void Scale(const double * const factor);
     51  virtual void ScaleAll(const double *factor);
    5952  virtual void Scale(const double factor);
    6053  virtual void MatrixMultiplication(const double * const M);
    6154  virtual bool InverseMatrixMultiplication(const double * const M);
    6255  virtual void KeepPeriodic(const double * const matrix);
    63   virtual void LinearCombinationOfVectors(const Vector &x1, const Vector &x2, const Vector &x3, const double * const factors);
    6456  virtual bool GetOneNormalVector(const Vector &x1);
    6557  virtual bool MakeNormalTo(const Vector &y1);
    66   //bool SolveSystem(Vector * x1, Vector * x2, Vector * y, const double alpha, const double beta, const double c);
    6758  virtual bool IsInParallelepiped(const Vector &offset, const double * const parallelepiped) const;
    6859  virtual void WrapPeriodically(const double * const M, const double * const Minv);
     
    7162  virtual double& operator[](size_t i);
    7263  virtual const double& operator[](size_t i) const;
    73   virtual double& at(size_t i);
    74   virtual const double& at(size_t i) const;
    75 
    76   // Assignment operator
    77   virtual Vector &operator=(const Vector& src);
    7864
    7965  // Access to internal structure
    8066  virtual double* get();
     67protected:
    8168
    8269private:
     70  // method used for protection, i.e. to avoid infinite recursion
     71  // when our internal rep becomes messed up
     72  virtual bool isBaseClass() const;
     73  virtual SingleVector *clone() const;
     74  void CopyVector(SingleVector &rhs);
    8375  double x[NDIM];
    8476
Note: See TracChangeset for help on using the changeset viewer.