Vecteur Vecteur::operator+(const Vecteur &vecteur2) // Somme vectorielle { assert(dim()==vecteur2.dim() && ( (ref() && vecteur2.ref()) || (!ref() && !vecteur2.ref()) )); changerDeReferentiel(vecteur2.ref()); Vecteur res(*this); for(int i=0 ; i<dim() ; i++) { res[i] += vecteur2[i]; } return res; }
Point Point::operator+(Vecteur &vecteur2) const // Somme vectorielle { assert(dim()==vecteur2.dim() && ( (ref() && vecteur2.ref()) || (!ref() && !vecteur2.ref()) )); if(ref()) { vecteur2.changerDeReferentiel(ref()); } Point res(*this); for(int i=0 ; i<dim() ; i++) { res[i] += vecteur2[i]; } return res; }
Vecteur Vecteur::operator+(const Vecteur &vecteur2) const // Somme vectorielle { assert(dim()==vecteur2.dim() && ref() == vecteur2.ref()); Vecteur res(*this); for(int i=0 ; i<dim() ; i++) { res[i] += vecteur2[i]; } return res; }
bool Vecteur::operator==(const Vecteur &vecteur2)// Test d'égalité { if(this == &vecteur2) { return true; } if(dim() != vecteur2.dim()) { return false; } changerDeReferentiel(vecteur2.ref()); bool res = true; for(int i=0 ; i<dim() && res ; i++) { res &= (coord[i]==vecteur2[i]); // On pourrait peut-être introduire un seuil } return res; }
Vecteur::Vecteur(const Vecteur &vecteurACopier) //Copie d'un vecteur { init(vecteurACopier.coord, vecteurACopier.ref()); }