Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
Référence de la classe Vecteur

Classe représentant un Vecteur de dimension quelconque. Plus de détails...

#include <Vecteur.h>

Graphe de collaboration de Vecteur:

Liste de tous les membres

Fonctions membres publiques

 Vecteur (double dimension)
 Construit un Vecteur nul dont la dimension est passée en argument.
 Vecteur (double x, double y, double z)
 Construit un Vecteur de dimension 3 initialisé par les coordonnées x,y et z passées en arguments.
 Vecteur (std::initializer_list< double > const &coordonnees)
 Construit un Vecteur grâce à la liste d'initialisation passée en argument.
void augmente (double const &valeur=0.)
 Ajoute au Vecteur courant une composante initialisée à la valeur passée en argument.
std::vector< double > const & composantes () const
 Accesseur pour Vecteur::m_composantes.
size_t size () const
 Cette méthode sert à obtenir la dimension du Vecteur.
double const & operator[] (size_t const &index) const
 Surcharge interne de l'opérateur "[ ]".
double & operator() (size_t const &index)
 Surcharge interne de l'opérateur "( )".
bool operator== (Vecteur const &a_comparer) const
 Surchage interne de l'operateur "==".
bool operator!= (Vecteur const &a_comparer) const
 Surchage interne de l'operateur "!=".
Vecteuroperator+= (Vecteur const &a_ajouter)
 Surcharge interne de l'opérateur "+=".
Vecteur operator+ (Vecteur const &a_ajouter) const
 Surcharge interne de l'opérateur "+".
Vecteur operator- () const
 Surcharge interne de l'opérateur "-" unaire.
Vecteuroperator-= (Vecteur const &a_soustraire)
 Surcharge interne de l'opérateur "-=".
Vecteur operator- (Vecteur const &a_soustraire) const
 Surcharge interne de l'opérateur "-".
Vecteuroperator*= (double const &scalaire)
 Surcharge interne de l'opérateur "*=".
Vecteuroperator/= (double const &scalaire)
 Surcharge interne de l'opérateur "/=".
double operator* (Vecteur const &a_multiplier_scal) const
 Surcharge interne de l'opérateur "*".
Vecteuroperator^= (Vecteur const &a_multiplier_vect)
 Surcharge interne de l'opérateur "^=".
Vecteur operator^ (Vecteur const &a_multiplier_vect) const
 Surcharge interne de l'opérateur "^".
double norme () const
 Accès à la norme du Vecteur courant.
double norme_carre () const
 Accès au carré de la norme du Vecteur courant.
Vecteur unitaire () const
 Donne le Vecteur unitaire sur la direction du Vecteur courant.

Fonctions membres privées

void affiche (std::ostream &out) const
 Cette méthode affiche les composantes du Vecteur courant, en ligne, entre parenthèses, séparées par un espace. Si le vecteur est Vide, on affiche "(Vecteur vide)".

Attributs privés

std::vector< double > m_composantes
 Tableau dynamique représentant les composantes du Vecteur.

Amis

std::ostream & operator<< (std::ostream &out, Vecteur const &a_afficher)
 Surchage externe de l'opérateur "<<".
Vecteur operator* (double scalaire, Vecteur const &a_multiplier)
 Surcharge externe de l'opérateur "*".
Vecteur operator* (Vecteur const &a_multiplier, double scalaire)
 Surcharge externe de l'opérateur "*".
Vecteur operator/ (Vecteur const &a_diviser, double scalaire)
 Surcharge externe de l'opérateur "/".

Description détaillée

Classe représentant un Vecteur de dimension quelconque.


Documentation des constructeurs et destructeur

Vecteur::Vecteur ( double  dimension)

Construit un Vecteur nul dont la dimension est passée en argument.

Paramètres:
dimensionLa dimension du Vecteur
Vecteur::Vecteur ( double  x,
double  y,
double  z 
)

Construit un Vecteur de dimension 3 initialisé par les coordonnées x,y et z passées en arguments.

Paramètres:
xPremière coordonnée du Vecteur
yDeuxième coordonnée du Vecteur
zTroisième coordonnée du Vecteur
Vecteur::Vecteur ( std::initializer_list< double > const &  coordonnees)

Construit un Vecteur grâce à la liste d'initialisation passée en argument.

Paramètres:
coordonneesListe d'initialisation qui permet de construire le Vecteur, sous la forme : { x , y , ... , z }

Documentation des fonctions membres

void Vecteur::augmente ( double const &  valeur = 0.)

Ajoute au Vecteur courant une composante initialisée à la valeur passée en argument.

Paramètres:
valeurValeur à laquelle est initialisée la nouvelle composantes du Vecteur, par défault 0
std::vector<double> const& Vecteur::composantes ( ) const

Accesseur pour Vecteur::m_composantes.

Renvoie:
Retourne le tableau dynamique (Vecteur::m_composantes) des composantes du Vecteur courant
size_t Vecteur::size ( ) const

Cette méthode sert à obtenir la dimension du Vecteur.

Renvoie:
Retourne la dimension du Vecteur
double const& Vecteur::operator[] ( size_t const &  index) const

Surcharge interne de l'opérateur "[ ]".

Accesseur pour une composante de Vecteur::m_composantes

Paramètres:
indexIndex de la composante du Vecteur demandée
Renvoie:
Retourne une référence constante sur la composante du Vecteur demandée
double& Vecteur::operator() ( size_t const &  index)

Surcharge interne de l'opérateur "( )".

Manipulateur pour une composante de Vecteur::m_composantes

Paramètres:
indexIndex de la composante du Vecteur demandée
Renvoie:
Retourne une référence sur la composante du Vecteur demandée
bool Vecteur::operator== ( Vecteur const &  a_comparer) const

Surchage interne de l'operateur "==".

Paramètres:
a_comparerVecteur à comparer au Vecteur courant
Renvoie:
Retourne 0 si les Vecteurs sont de tailles différents, ou de tailles identiques mais avec des composantes différentes
Retourne 1 si les Vecteurs sont égaux
bool Vecteur::operator!= ( Vecteur const &  a_comparer) const

Surchage interne de l'operateur "!=".

Paramètres:
a_comparerVecteur à comparer au Vecteur courant
Renvoie:
Retourne 1 si les Vecteurs sont de tailles différents, ou de tailles identiques mais avec des composantes différentes
Retourne 0 si les Vecteurs sont égaux
Note:
Défini à partir de Vecteur::operator==
Vecteur& Vecteur::operator+= ( Vecteur const &  a_ajouter)

Surcharge interne de l'opérateur "+=".

Ajoute au Vecteur courant le Vecteur passé en argument

Paramètres:
a_ajouterVecteur à ajouter au Vecteur courant
Renvoie:
Retourne une référence sur le Vecteur courant
Note:
Si les deux Vecteurs sont de tailles différentes, alors la méthode considère les coordonnées manquantes du plus petit comme nulles
Vecteur Vecteur::operator+ ( Vecteur const &  a_ajouter) const

Surcharge interne de l'opérateur "+".

Paramètres:
a_ajouterVecteur à sommer avec le Vecteur courant
Renvoie:
Retourne la somme du Vecteur courant et du Vecteur passé en argument
Note:
Si les deux Vecteurs sont de tailles différentes, alors la méthode considère les coordonnées manquantes du plus petit comme nulles
Défini à partir de Vecteur::operator+=
Vecteur Vecteur::operator- ( ) const

Surcharge interne de l'opérateur "-" unaire.

Renvoie:
Retourne le Vecteur opposé au Vecteur courant
Vecteur& Vecteur::operator-= ( Vecteur const &  a_soustraire)

Surcharge interne de l'opérateur "-=".

Soustrait au Vecteur courant le Vecteur passé en argument

Paramètres:
a_soustraireVecteur à soustraire au Vecteur courant
Renvoie:
Retourne une référence sur le Vecteur courant
Note:
Si les deux Vecteurs sont de tailles différentes, alors la méthode considère les coordonnées manquantes du plus petit comme nulles
Défini à partir de Vecteur::operator+= et Vecteur::operator-
Vecteur Vecteur::operator- ( Vecteur const &  a_soustraire) const

Surcharge interne de l'opérateur "-".

Paramètres:
a_soustraireVecteur à soustraire avec le Vecteur courant
Renvoie:
Retourne la différence des deux Vecteurs
Note:
Si les deux Vecteurs sont de tailles différentes, alors la méthode considère les coordonnées manquantes du plus petit comme nulles
Défini à partir de Vecteur::operator-=
Vecteur& Vecteur::operator*= ( double const &  scalaire)

Surcharge interne de l'opérateur "*=".

Multiplie le Vecteur courant par le scalaire passé en argument

Paramètres:
scalaireScalaire multipliant le Vecteur courant
Renvoie:
Retourne une référence sur le Vecteur courant
Vecteur& Vecteur::operator/= ( double const &  scalaire)

Surcharge interne de l'opérateur "/=".

Divise le Vecteur courant par le scalaire passé en argument

Paramètres:
scalaireScalaire divisant le Vecteur courant
Renvoie:
Retourne une référence sur le Vecteur courant
Note:
Défini à partir de Vecteur::operator*=
double Vecteur::operator* ( Vecteur const &  a_multiplier_scal) const

Surcharge interne de l'opérateur "*".

Paramètres:
a_multiplier_scalVecteur à multiplier par le Vecteur courant
Renvoie:
Retourne le produit scalaire des Vecteurs passés en arguments
Note:
Si les deux Vecteurs sont de tailles différentes, alors la méthode considère les coordonnées manquantes du plus petit comme nulles
Vecteur& Vecteur::operator^= ( Vecteur const &  a_multiplier_vect)

Surcharge interne de l'opérateur "^=".

Multiplie le Vecteur courant par le Vecteur passé en argument selon les règles du produit vectoriel

Paramètres:
a_multiplier_vectVecteur multipliant le Vecteur courant
Renvoie:
Retourne une référence sur le Vecteur courant
Note:
Attention, on multiplie le Vecteur courant à droite par le Vecteur passé en argument : a ^= b <=> a = a ^ b
La méthode est effective uniquement pour deux Vecteurs de dimension 3, si ce n'est pas le cas, le Vecteur courant est réinitialisé au Vecteur vide
Vecteur Vecteur::operator^ ( Vecteur const &  a_multiplier_vect) const

Surcharge interne de l'opérateur "^".

Paramètres:
a_multiplier_vectVecteur multipliant le Vecteur courant
Renvoie:
Retourne le produit vectoriel du Vecteur courant par le Vecteur passé en argument
Note:
La méthode est effective uniquement pour deux Vecteurs de dimension 3, si ce n'est pas le cas, le Vecteur courant est réinitialisé au Vecteur vide
Défini à partir de Vecteur::operator^
double Vecteur::norme ( ) const

Accès à la norme du Vecteur courant.

Renvoie:
Retourne la norme du Vecteur courant
Note:
Si on souhaite élever par la suite cette norme au carré, il vaut mieux utiliser Vecteur::norme_carre()
double Vecteur::norme_carre ( ) const

Accès au carré de la norme du Vecteur courant.

Renvoie:
Retourne le carré de la norme du Vecteur courant
Vecteur Vecteur::unitaire ( ) const

Donne le Vecteur unitaire sur la direction du Vecteur courant.

Renvoie:
Retourne le Vecteur unitaire sur la direction du Vecteur courant
void Vecteur::affiche ( std::ostream &  out) const [private]

Cette méthode affiche les composantes du Vecteur courant, en ligne, entre parenthèses, séparées par un espace. Si le vecteur est Vide, on affiche "(Vecteur vide)".

Paramètres:
outFlux de sortie
Renvoie:
Retourne le flux

Documentation des fonctions amies et associées

std::ostream& operator<< ( std::ostream &  out,
Vecteur const &  a_afficher 
) [friend]

Surchage externe de l'opérateur "<<".

Cette méthode affiche les composantes du Vecteur, en ligne, entre parenthèses, séparées par un espace. Si le vecteur est Vide, on affiche "(Vecteur vide)"

Paramètres:
outFlux de sortie
a_afficherLe Vecteur à afficher
Renvoie:
Retourne le flux
Note:
Fonction amie de la classe Vecteur
Définie par rapport à la méthode Vecteur::affiche
Vecteur operator* ( double  scalaire,
Vecteur const &  a_multiplier 
) [friend]

Surcharge externe de l'opérateur "*".

Paramètres:
scalaireScalaire multipliant le Vecteur passé en argument
a_multiplierVecteur étant multiplié par le scalaire passé en argument
Renvoie:
Retourne le Vecteur résultant de la multiplication scalaire entre le Vecteur et le scalaire passés en arguments
Note:
Défini à partir de Vecteur::operator*=
Fonction amie de la classe Vecteur
On défini deux prototype pour cette méthode afin d'assurer la commutativité
Vecteur operator* ( Vecteur const &  a_multiplier,
double  scalaire 
) [friend]

Surcharge externe de l'opérateur "*".

Paramètres:
a_multiplierVecteur étant multiplié par le scalaire passé en argument
scalaireScalaire multipliant le Vecteur passé en argument
Renvoie:
Retourne le Vecteur résultant de la multiplication scalaire entre le Vecteur et le scalaire passés en arguments
Note:
Défini à partir de Vecteur::operator*=
Fonction amie de la classe Vecteur
On défini deux prototype pour cette méthode afin d'assurer la commutativité
Vecteur operator/ ( Vecteur const &  a_diviser,
double  scalaire 
) [friend]

Surcharge externe de l'opérateur "/".

Paramètres:
a_diviserVecteur étant divisé par le scalaire passé en argument
scalaireScalaire divisant le Vecteur passé en argument
Renvoie:
Retourne le Vecteur résultant de la division scalaire du Vecteur par le scalaire passé en argument
Note:
Défini à partir de Vecteur::operator/=
Fonction amie de la classe Vecteur

Documentation des données membres

std::vector<double> Vecteur::m_composantes [private]

Tableau dynamique représentant les composantes du Vecteur.


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Énumérations Valeurs énumérées Amis