General Purpose Geodetic Library
Sg3dVector Class Reference

#include <Sg3dVector.h>

Inheritance diagram for Sg3dVector:
SgOceanLoad

Public Member Functions

 Sg3dVector ()
 
 Sg3dVector (double v1, double v2, double v3)
 
 Sg3dVector (const Sg3dVector &V)
 
 ~Sg3dVector ()
 
double & operator() (DIRECTION i)
 
double at (DIRECTION i) const
 
double module () const
 
double phi () const
 
double lambda () const
 
Sg3dVectorunify ()
 
Sg3dVector unit () const
 
void clear ()
 
Sg3dVectoroperator= (const Sg3dVector &v)
 
Sg3dVectoroperator+= (const Sg3dVector &v)
 
Sg3dVectoroperator-= (const Sg3dVector &v)
 
Sg3dVectoroperator*= (double d)
 
Sg3dVectoroperator/= (double d)
 
bool operator== (const Sg3dVector &v) const
 
bool operator!= (const Sg3dVector &v) const
 

Protected Attributes

double vec [3]
 An array of 3 elements, stores elements of a vector. More...
 

Friends

Sg3dVector operator- (const Sg3dVector &v)
 
Sg3dVector operator+ (const Sg3dVector &v1, const Sg3dVector &v2)
 
Sg3dVector operator- (const Sg3dVector &, const Sg3dVector &)
 
Sg3dVector operator/ (const Sg3dVector &, double)
 
Sg3dVector operator* (const Sg3dVector &, double)
 
Sg3dVector operator* (double, const Sg3dVector &)
 
double operator* (const Sg3dVector &, const Sg3dVector &)
 
Sg3dVector operator% (const Sg3dVector &, const Sg3dVector &)
 
Sg3dVector operator* (const Sg3dMatrix &, const Sg3dVector &)
 
std::ostream & operator<< (std::ostream &s, const Sg3dVector &v)
 

Detailed Description

A three-dimentional vector. Should be useful for various geometrical calculations.

Definition at line 48 of file Sg3dVector.h.

Constructor & Destructor Documentation

◆ Sg3dVector() [1/3]

Sg3dVector::Sg3dVector ( )
inline

A constructor. Creates a default copy of the object, fills it with zeros.

Definition at line 60 of file Sg3dVector.h.

References vec.

Referenced by unit().

◆ Sg3dVector() [2/3]

Sg3dVector::Sg3dVector ( double  v1,
double  v2,
double  v3 
)
inline

A constructor. Creates a copy of the object using three elements of the vectors.

Parameters
v1,v2,v3are the values that will be assigned to the vector.

Definition at line 66 of file Sg3dVector.h.

References vec.

◆ Sg3dVector() [3/3]

Sg3dVector::Sg3dVector ( const Sg3dVector V)
inline

A constructor. Creates a copy of the object from vector V.

Parameters
V– vector to be copied.

Definition at line 72 of file Sg3dVector.h.

References vec.

◆ ~Sg3dVector()

Sg3dVector::~Sg3dVector ( )
inline

A destructor. Destroys the object.

Definition at line 77 of file Sg3dVector.h.

Member Function Documentation

◆ at()

◆ clear()

void Sg3dVector::clear ( )
inline

Zerofies a vector.

Definition at line 120 of file Sg3dVector.h.

References vec.

Referenced by SgOceanLoad::calcDisplacement().

◆ lambda()

double Sg3dVector::lambda ( ) const
inline

Calculates and returns a longitude in spherical coordinate system.

Definition at line 107 of file Sg3dVector.h.

References module(), and vec.

Referenced by SgSolutionReporter::reportEstimationBlock_Output4Spoolfile().

◆ module()

double Sg3dVector::module ( ) const
inline

◆ operator!=()

bool Sg3dVector::operator!= ( const Sg3dVector v) const
inline

Boolean operator, returns TRUE if two vectors are NOT equal

Definition at line 193 of file Sg3dVector.h.

◆ operator()()

double& Sg3dVector::operator() ( DIRECTION  i)
inline

Returns reference at i-th element of the vector.

Parameters
i– an index; valid ranges are [0,1,2].

Definition at line 86 of file Sg3dVector.h.

References vec.

◆ operator*=()

Sg3dVector & Sg3dVector::operator*= ( double  d)
inline

Multiplies a vector by the scalar.

Parameters
dis a scale.

Definition at line 245 of file Sg3dVector.h.

References vec.

◆ operator+=()

Sg3dVector & Sg3dVector::operator+= ( const Sg3dVector v)
inline

Increments a meaning of the vector on a value of the given vector.

Parameters
Vis a vector to be added.

Definition at line 223 of file Sg3dVector.h.

References vec.

◆ operator-=()

Sg3dVector & Sg3dVector::operator-= ( const Sg3dVector v)
inline

Decrements a meaning of the vector on a value of the given vector.

Parameters
Vis a vector to be substracted.

Definition at line 234 of file Sg3dVector.h.

References vec.

◆ operator/=()

Sg3dVector & Sg3dVector::operator/= ( double  d)
inline

Divides a vector by the scalar.

Parameters
dis a divider.

Definition at line 256 of file Sg3dVector.h.

References vec.

◆ operator=()

Sg3dVector & Sg3dVector::operator= ( const Sg3dVector v)
inline

Assigns a value of the given vector.

Parameters
Vis a vector to be copied.

Definition at line 212 of file Sg3dVector.h.

References vec.

◆ operator==()

bool Sg3dVector::operator== ( const Sg3dVector v) const
inline

Boolean operator, returns TRUE if two vectors are equal

Definition at line 188 of file Sg3dVector.h.

References vec.

◆ phi()

double Sg3dVector::phi ( ) const
inline

Calculates and returns a latitude in spherical coordinate system.

Definition at line 103 of file Sg3dVector.h.

References module(), and vec.

Referenced by SgSolutionReporter::reportEstimationBlock_Output4Spoolfile().

◆ unify()

Sg3dVector& Sg3dVector::unify ( )
inline

Unifies the vector, returns a reference on it.

Definition at line 112 of file Sg3dVector.h.

References module().

Referenced by calcLhv().

◆ unit()

Sg3dVector Sg3dVector::unit ( ) const
inline

Returns a unified vector. The function does not change the object.

Definition at line 116 of file Sg3dVector.h.

References Sg3dVector(), and module().

Friends And Related Function Documentation

◆ operator%

Sg3dVector operator% ( const Sg3dVector v1,
const Sg3dVector v2 
)
friend

Makes a vector product of two vectors (because "%" has a priority of "*")

Definition at line 330 of file Sg3dVector.h.

◆ operator* [1/4]

Sg3dVector operator* ( const Sg3dMatrix M,
const Sg3dVector V 
)
friend

Makes a product of matrix and vector

Returns a product of a matrix and a vector.

Definition at line 350 of file Sg3dMatrix.h.

◆ operator* [2/4]

double operator* ( const Sg3dVector v1,
const Sg3dVector v2 
)
friend

Makes a scalar product of two vectors.

Definition at line 322 of file Sg3dVector.h.

◆ operator* [3/4]

Sg3dVector operator* ( const Sg3dVector v,
double  d 
)
friend

Returns a vector multiplied by scalar.

Definition at line 306 of file Sg3dVector.h.

◆ operator* [4/4]

Sg3dVector operator* ( double  d,
const Sg3dVector v 
)
friend

Returns a vector multiplied by scalar.

Definition at line 314 of file Sg3dVector.h.

◆ operator+

Sg3dVector operator+ ( const Sg3dVector v1,
const Sg3dVector v2 
)
friend

Returns a sum of two vectors.

Parameters
V1is a first term,
V2is a second term in the sum.

Definition at line 282 of file Sg3dVector.h.

◆ operator- [1/2]

Sg3dVector operator- ( const Sg3dVector v1,
const Sg3dVector v2 
)
friend

Returns a difference of two vectors.

Definition at line 290 of file Sg3dVector.h.

◆ operator- [2/2]

Sg3dVector operator- ( const Sg3dVector v)
friend

Returns a vector with an inverted sign.

Parameters
Vis a original vector.

Definition at line 274 of file Sg3dVector.h.

◆ operator/

Sg3dVector operator/ ( const Sg3dVector v,
double  d 
)
friend

Returns a vector divided by scalar.

Definition at line 298 of file Sg3dVector.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const Sg3dVector v 
)
friend

Makes output to std::ostream, standard text formatted output.

Definition at line 340 of file Sg3dVector.h.

Member Data Documentation

◆ vec

double Sg3dVector::vec[3]
protected

An array of 3 elements, stores elements of a vector.

Definition at line 51 of file Sg3dVector.h.

Referenced by Sg3dVector(), at(), SgOceanLoad::calcDisplacement(), clear(), lambda(), module(), operator()(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), operator==(), and phi().


The documentation for this class was generated from the following file: