Changeset 518 in Sophya for trunk/SophyaLib/Samba/vector3d.h


Ignore:
Timestamp:
Oct 26, 1999, 4:31:44 PM (26 years ago)
Author:
ansari
Message:

Introduction de SpherePosition and SphereCoordSys, and Initiator for module Samba - Reza+I. Grivell 26/10/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Samba/vector3d.h

    r517 r518  
    3131  Vector3d(const Vector3d&);
    3232
    33   void Setxyz(double x, double y, double z);
    34   void SetThetaPhi(double theta,  double phi);
    35   void ThetaPhi2xyz();
    36   void xyz2ThetaPhi();
    37   double Theta() const {return _theta;}
    38   double Phi() const {return _phi;}
    39   double X() const {return _x;}
    40   double Y() const {return _y;}
    41   double Z() const {return _z;}
     33//   To manipulate the vector
     34  virtual void Setxyz(double x, double y, double z);
     35  virtual void SetThetaPhi(double theta,  double phi);
     36  virtual void ThetaPhi2xyz();
     37  virtual void xyz2ThetaPhi();
    4238
    43   Vector3d& Normalize();
    44   double Norm() const;
     39// Acces to coordinates
     40  inline double Theta() const {return _theta;}
     41  inline double Phi() const {return _phi;}
     42  inline double X() const {return _x;}
     43  inline double Y() const {return _y;}
     44  inline double Z() const {return _z;}
     45
     46  virtual Vector3d& Normalize();
     47  virtual double Norm() const;
    4548
    4649  // produit scalaire
    47   double Psc(const Vector3d&) const;
     50  virtual double Psc(const Vector3d&) const;
    4851
    4952  // ecart angulaire entre 2 vecteurs dans [0,Pi]
    50   double SepAngle(const Vector3d&) const;
     53  virtual double SepAngle(const Vector3d&) const;
    5154
    5255  // produit vectoriel
    53   Vector3d Vect(const Vector3d&) const;
     56  virtual Vector3d Vect(const Vector3d&) const;
    5457
    5558  // vecteur perpendiculaire de meme phi
    56   Vector3d VperpPhi() const;
     59  virtual Vector3d VperpPhi() const;
    5760
    5861  // vecteur perpendiculaire de meme theta
    59   Vector3d VperpTheta() const;
     62  virtual Vector3d VperpTheta() const;
    6063
    61   Vector3d ETheta() const;
    62   Vector3d EPhi() const;
     64  virtual Vector3d ETheta() const;
     65  virtual Vector3d EPhi() const;
    6366
    64   // rotations d'Euler
    65   Vector3d Euler(double, double, double) const;
     67  // rotations d Euler
     68  virtual Vector3d Euler(double, double, double) const;
    6669
    6770  // rotation inverse
    6871  Vector3d InvEuler(double, double, double) const;
    6972
    70   // rotation d'angle phi autour d'un axe omega (regle du tire-bouchon)
     73  // rotation d angle phi autour d'un axe omega (regle du tire-bouchon)
    7174  Vector3d Rotate(const Vector3d& omega,double phi);
    7275
     
    7780  virtual Vector3d operator-(const Vector3d&) const;
    7881
    79   Vector3d& operator+=(double);
    80   Vector3d& operator/=(double);
    81   Vector3d& operator*=(double);
     82  virtual Vector3d& operator+=(double);
     83  virtual Vector3d& operator/=(double);
     84  virtual Vector3d& operator*=(double);
    8285
    83   Vector3d operator+(double) const;
    84   Vector3d operator-(double) const;
    85   Vector3d operator*(double) const;
    86   Vector3d operator/(double) const;
    87   Vector3d operator^(const Vector3d&) const; // produit vectoriel
    88   double operator*(const Vector3d&) const; // produit scalaire
     86  virtual Vector3d operator+(double) const;
     87  virtual Vector3d operator-(double) const;
     88  virtual Vector3d operator*(double) const;
     89  virtual Vector3d operator/(double) const;
     90
     91  virtual Vector3d operator^(const Vector3d&) const; // produit vectoriel
     92  virtual double operator*(const Vector3d&) const; // produit scalaire
     93
    8994  bool operator==(const Vector3d&);
    9095 
Note: See TracChangeset for help on using the changeset viewer.