// 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) . // // Herezh++ is distributed under GPL 3 license ou ultérieure. // // Copyright (C) 1997-2022 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 . // // For more information, please consult: . #include "Basiques.h" using namespace std; // ----- définition des variables statiques ------------ short int DeuxEntiers::impre_schem_XML=0; short int DeuxDoubles::impre_schem_XML=0; short int Entier_et_Double::impre_schem_XML=0; short int Deux_String::impre_schem_XML=0; short int String_et_entier::impre_schem_XML=0; short int Trois_String::impre_schem_XML=0; short int Quatre_string_un_entier::impre_schem_XML=0; short int TroisEntiers::impre_schem_XML=0; short int Deux_String_un_entier::impre_schem_XML=0; short int QuatreEntiers::impre_schem_XML=0; short int CinqEntiers::impre_schem_XML=0; // sortie du schemaXML: en fonction de enu void DeuxEntiers::SchemaXML_DeuxEntiers(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir deux entiers " << "\n " << "\n " << "\n " << "\n"; DeuxEntiers::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & DeuxEntiers::LectXML_DeuxEntiers(istream & ent) { string nom; ent >> nom >> nom >> un >> nom >> deux >> nom; return ent; }; // surcharge d'ecriture en XML ostream & DeuxEntiers::EcritXML_DeuxEntiers(ostream & sort) { sort << " un= "<< un << " deux= " << deux << " "; return sort; }; // sortie du schemaXML: en fonction de enu void DeuxDoubles::SchemaXML_DeuxDoubles(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir deux double " << "\n " << "\n " << "\n " << "\n"; DeuxDoubles::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & DeuxDoubles::LectXML_DeuxDoubles(istream & ent) { string nom; ent >> nom >> nom >> un >> nom >> deux >> nom; return ent; }; // surcharge d'ecriture en XML ostream & DeuxDoubles::EcritXML_DeuxDoubles(ostream & sort) { sort << " un= "<< un << " deux= " << deux << " "; return sort; }; // sortie du schemaXML: en fonction de enu void Entier_et_Double::SchemaXML_Entier_et_Double(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir un entier et un double " << "\n " << "\n " << "\n " << "\n"; Entier_et_Double::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & Entier_et_Double::LectXML_Entier_et_Double(istream & ent) { string nom; ent >> nom >> nom >> n >> nom >> x >> nom; return ent; }; // surcharge d'ecriture en XML ostream & Entier_et_Double::EcritXML_Entier_et_Double(ostream & sort) { sort << " un= "<< n << " deux= " << x << " "; return sort; }; // sortie du schemaXML: en fonction de enu void Deux_String::SchemaXML_Deux_String(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir deux string " << "\n " << "\n " << "\n " << "\n"; Deux_String::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & Deux_String::LectXML_Deux_String(istream & ent) { string nom; ent >> nom >> nom >> nom1 >> nom >> nom2 >> nom; return ent; }; // surcharge d'ecriture en XML ostream & Deux_String::EcritXML_Deux_String(ostream & sort) { sort << " nom1= "<< nom1 << " nom2= " << nom2 << " "; return sort; }; // sortie du schemaXML: en fonction de enu void String_et_entier::SchemaXML_String_et_entier(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir un string et un entier " << "\n " << "\n " << "\n " << "\n"; String_et_entier::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & String_et_entier::LectXML_String_et_entier(istream & ent) { string toto; ent >> toto >> toto >> nom >> toto >> n >> toto; return ent; }; // surcharge d'ecriture en XML ostream & String_et_entier::EcritXML_String_et_entier(ostream & sort) { sort << " nom1= "<< nom << " n= " << n << " "; return sort; }; // sortie du schemaXML: en fonction de enu void Trois_String::SchemaXML_Trois_String(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir trois string " << "\n " << "\n " << "\n " << "\n " << "\n"; Trois_String::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & Trois_String::LectXML_Trois_String(istream & ent) { string nom; ent >> nom >> nom >> nom1 >> nom >> nom2 >> nom >> nom3 >> nom; return ent; }; // surcharge d'ecriture en XML ostream & Trois_String::EcritXML_Trois_String(ostream & sort) { sort << " nom1= "<< nom1 << " nom2= " << nom2 << " nom3= " << nom3 << " "; return sort; }; // sortie du schemaXML: en fonction de enu void Quatre_string_un_entier::SchemaXML_Quatre_string_un_entier(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir trois string " << "\n " << "\n " << "\n " << "\n " << "\n " << "\n " << "\n"; Quatre_string_un_entier::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & Quatre_string_un_entier::LectXML_Quatre_string_un_entier(istream & ent) { string nom; ent >> nom >> nom >> nom1 >> nom >> nom2 >> nom >> nom3 >> nom >> nom4 >> nom >> n >> nom; return ent; }; // surcharge d'ecriture en XML ostream & Quatre_string_un_entier::EcritXML_Quatre_string_un_entier(ostream & sort) { sort << " nom1= "<< nom1 << " nom2= " << nom2 << " nom3= " << nom3 << "nom4= " << nom4 << " n= " << n << " "; return sort; }; // sortie du schemaXML: en fonction de enu void TroisEntiers::SchemaXML_TroisEntiers(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir deux entiers " << "\n " << "\n " << "\n " << "\n " << "\n"; TroisEntiers::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & TroisEntiers::LectXML_TroisEntiers(istream & ent) { string nom; ent >> nom >> nom >> un >> nom >> deux >> nom >> trois >> nom; return ent; }; // surcharge d'ecriture en XML ostream & TroisEntiers::EcritXML_TroisEntiers(ostream & sort) { sort << " un= "<< un << " deux= " << deux << " trois= " << trois << " "; return sort; }; // sortie du schemaXML: en fonction de enu void Deux_String_un_entier::SchemaXML_Deux_String_un_entier(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir trois string " << "\n " << "\n " << "\n " << "\n " << "\n"; Deux_String_un_entier::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & Deux_String_un_entier::LectXML_Deux_String_un_entier(istream & ent) { string nom; ent >> nom >> nom >> nom1 >> nom >> nom2 >> nom >> n >> nom; return ent; }; // surcharge d'ecriture en XML ostream & Deux_String_un_entier::EcritXML_Deux_String_un_entier(ostream & sort) { sort << " nom1= "<< nom1 << " nom2= " << nom2 << " n= " << n << " "; return sort; }; // sortie du schemaXML: en fonction de enu void QuatreEntiers::SchemaXML_QuatreEntiers(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir quatre entiers " << "\n " << "\n " << "\n " << "\n " << "\n " << "\n"; QuatreEntiers::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & QuatreEntiers::LectXML_QuatreEntiers(istream & ent) { string nom; ent >> nom >> nom >> un >> nom >> deux >> nom >> trois >> nom >> quatre >> nom; return ent; }; // surcharge d'ecriture en XML ostream & QuatreEntiers::EcritXML_QuatreEntiers(ostream & sort) { sort << " un= "<< un << " deux= " << deux << " trois= " << trois << " quatre= " << quatre << " "; return sort; }; // sortie du schemaXML: en fonction de enu void CinqEntiers::SchemaXML_CinqEntiers(ofstream& sort,const Enum_IO_XML enu) const {// sortie balisée simple switch (enu) {case XML_TYPE_GLOBAUX: {sort << "\n " << "\n" << "\n " << "\n type simple pour definir quatre entiers " << "\n " << "\n " << "\n " << "\n " << "\n " << "\n " << "\n"; CinqEntiers::impre_schem_XML=1; // une seule sortie }; default: sort << "\n SchemaXML: cas non pris en compte " ; }; }; // surcharge de lecture en XML istream & CinqEntiers::LectXML_CinqEntiers(istream & ent) { string nom; ent >> nom >> nom >> un >> nom >> deux >> nom >> trois >> nom >> quatre >> nom >> cinq >> nom; return ent; }; // surcharge d'ecriture en XML ostream & CinqEntiers::EcritXML_CinqEntiers(ostream & sort) { sort << " un= "<< un << " deux= " << deux << " trois= " << trois << " quatre= " << quatre << " cinq= " << cinq << " "; return sort; };