Stellarium 0.14.3
gVector.hpp
1 /***************************************************************************
2  * Name: gVector.hpp
3  *
4  * Description: GVector class envelop the STL vertor class to add
5  * some error control.
6  ***************************************************************************/
7 
8 /***************************************************************************
9  * Copyright (C) 2006 by J.L. Canales *
10  * jlcanales@users.sourceforge.net *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  * This program is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU General Public License for more details. *
21  * *
22  * You should have received a copy of the GNU General Public License *
23  * along with this program; if not, write to the *
24  * Free Software Foundation, Inc., *
25  * 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. *
26  ***************************************************************************/
27 
28 #ifndef _GVECTOR_HPP_
29 #define _GVECTOR_HPP_ 1
30 
31 #include "gVectorTempl.hpp"
32 
41 class gVector : public br_stl::gVectorTempl<double>
42 {
43 
44 public:
45  gVector();
46  //gVector(unsigned int ai_uiElementsNumber);
47  gVector(size_t ai_uiElementsNumber);
48 
49  virtual ~gVector() {}
50 
51  //## Other Operations (specified)
52  //## Operation: operator*
53  // This operators make the vectorial product calculation
54  // gVector operator* ( const gVector &ai_rightVector);
55 
56  //## Operation: operator*
57  // This operator make the scalar product calculation.
58  //gVector operator* ( double ai_escalar);
59 
60  gVector operator+ (gVector &ai_rightVector) const;
61  const gVector& operator+=(gVector &ai_rightVector);
62 
63  gVector operator- (gVector &ai_rightVector) const;
64  const gVector& operator-=(gVector &ai_rightVector);
65 
66  //## Operation: Dot
67  // This method compute the dot vector between two vectors
68  double Dot(const gVector& ai_rightVector) const;
69 
70  //## Operation: Angle
71  // This method compute the angle angle between two vectors
72  //double Angle(const gVector&) const;
73 
74  //## Operation: Magnitude
75  // This method compute the vector magnitude
76  double Magnitude() const;
77 
78 };
79 
80 #endif // _GVECTOR_HPP_
This class implement the needed code to make vector calculations.
Definition: gVector.hpp:41