// FICHIER : CoordonneeB.cp // CLASSE : CoordonneeB // This file is part of the Herezh++ application. // // The finite element software Herezh++ is dedicated to the field // of mechanics for large transformations of solid structures. // It is developed by Gérard Rio (APP: IDDN.FR.010.0106078.000.R.P.2006.035.20600) // INSTITUT DE RECHERCHE DUPUY DE LÔME (IRDL) <https://www.irdl.fr/>. // // Herezh++ is distributed under GPL 3 license ou ultérieure. // // Copyright (C) 1997-2021 Université Bretagne Sud (France) // AUTHOR : Gérard Rio // E-MAIL : gerardrio56@free.fr // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, // or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. // // For more information, please consult: <https://herezh.irdl.fr/>. // concerne les méthodes qui ne sont pas en include //#include "Debug.h" # include <iostream> using namespace std; //introduces namespace std #include <stdlib.h> #include "Sortie.h" #include "ConstMath.h" #include "MathUtil.h" #include <iomanip> #include "ParaGlob.h" #include "Coordonnee.h" #include "Vecteur.h" //// Constructeur fonction d'un vecteur qui doit avoir une dim = 1 ou 2 ou 3 //CoordonneeB::CoordonneeB ( const Vecteur& vec) : // dim ((short) vec.Taille()),memoire(true) // { // #ifdef MISE_AU_POINT // if ((vec.Taille() !=1) && (vec.Taille() !=2) && (vec.Taille() !=3)) // { cout << "\n erreur,pour convertir un vecteur en CoordonneeB il faut que sa " // << "dimension soit 1 ou 2 ou 3, ici elle est : " << vec.Taille() // << "\nCoordonneeB::CoordonneeB (Vecteur& vec)" << endl; // Sortie (1); // } // #endif // coord=new double [dim]; // for (int i=0;i<dim;i++) // // copie des coordonnees // coord[i]=vec(i+1); // }; // //// Surcharge de l'operateur = avec un vecteur //CoordonneeB& CoordonneeB::operator= ( const Vecteur& c) ////CoordonneeB& CoordonneeB::Egale_vecteur ( const Vecteur& c) // { int dimc = c.Taille(); // if (dim == dimc) // { for (int i=0;i<dim;i++) // coord[i]=c(i+1); // return (*this); // } // if ( dimc == 0 ) // Libere(); // else // { // #ifdef MISE_AU_POINT // if (dim != 0) // { cout << "\n attention, on change la dimension du point !!!"; // } // if ((dimc != 1) && (dimc != 2) && (dimc != 3)) // { cout << "\n erreur, la dimension du vecteur doit etre comprise entre 1 et 3 ! "; // cout << "\n dim vecteur = " << dimc ; // cout << "\nCoordonneeB::operator= (const Vecteur& c) " << endl; // Sortie(1); // } // #endif // Libere(); // dim=(short) dimc; // coord=new double [dim]; // for (int i=0;i<dim;i++) // coord[i]=c(i+1); // } // return (*this); //}; // conversion en Vecteur Vecteur CoordonneeB::Vect() const { return Vecteur(dim,coord); };