Changeset 518 in Sophya for trunk/SophyaLib/Samba/vector3d.h
- Timestamp:
- Oct 26, 1999, 4:31:44 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/Samba/vector3d.h
r517 r518 31 31 Vector3d(const Vector3d&); 32 32 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(); 42 38 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; 45 48 46 49 // produit scalaire 47 double Psc(const Vector3d&) const;50 virtual double Psc(const Vector3d&) const; 48 51 49 52 // ecart angulaire entre 2 vecteurs dans [0,Pi] 50 double SepAngle(const Vector3d&) const;53 virtual double SepAngle(const Vector3d&) const; 51 54 52 55 // produit vectoriel 53 Vector3d Vect(const Vector3d&) const;56 virtual Vector3d Vect(const Vector3d&) const; 54 57 55 58 // vecteur perpendiculaire de meme phi 56 Vector3d VperpPhi() const;59 virtual Vector3d VperpPhi() const; 57 60 58 61 // vecteur perpendiculaire de meme theta 59 Vector3d VperpTheta() const;62 virtual Vector3d VperpTheta() const; 60 63 61 Vector3d ETheta() const;62 Vector3d EPhi() const;64 virtual Vector3d ETheta() const; 65 virtual Vector3d EPhi() const; 63 66 64 // rotations d 'Euler65 Vector3d Euler(double, double, double) const;67 // rotations d Euler 68 virtual Vector3d Euler(double, double, double) const; 66 69 67 70 // rotation inverse 68 71 Vector3d InvEuler(double, double, double) const; 69 72 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) 71 74 Vector3d Rotate(const Vector3d& omega,double phi); 72 75 … … 77 80 virtual Vector3d operator-(const Vector3d&) const; 78 81 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); 82 85 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 89 94 bool operator==(const Vector3d&); 90 95
Note:
See TracChangeset
for help on using the changeset viewer.