// 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/>.

// fichier PlusieursCoordonnees.h

/************************************************************************
 *     DATE:        19/01/2001                                          *
 *                                                                $     *
 *     AUTEUR:      G RIO   (mailto:gerardrio56@free.fr)                *
 *                                                                $     *
 *     PROJET:      Herezh++                                            *
 *                                                                $     *
 ************************************************************************
 *     BUT:  classes relatives à des nombres fixes de coordonnées.      *
 *                                                                $     *
 *     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''     *
 ************************************************************************/
 
/** @defgroup Les_classes_PlusieursCoordonnees
*
*     BUT:    classes relatives à des nombres fixes de coordonnées.
*
* \author    Gérard Rio
* \version   1.0
* \date       19/01/2001
* \brief       classes relatives à des nombres fixes de coordonnées.
*
*/


#ifndef PLUSIEURS_COORDONNEES_H
#define PLUSIEURS_COORDONNEES_H

#include "Coordonnee.h"

/// @addtogroup Les_classes_PlusieursCoordonnees
///  @{///

//
//------------------------------------------------------------------
//!     DeuxCoordonnees:   classe relative à 2 coordonnées
//------------------------------------------------------------------
      /// \author    Gérard Rio
      /// \version   1.0
      /// \date       19/01/2001
class DeuxCoordonnees
{
  public :
    // CONSTRUCTEURS :
    DeuxCoordonnees() : co1(),co2() {};
    DeuxCoordonnees(const Coordonnee & coo1, const Coordonnee & coo2):
      co1(coo1),co2(coo2) {};
    DeuxCoordonnees(const DeuxCoordonnees& deuxcoo):
      co1(deuxcoo.co1),co2(deuxcoo.co2) {};
    DeuxCoordonnees(int dima): co1(dima),co2(dima) {};	
    // DESTRUCTEUR :
    ~DeuxCoordonnees() {}; 
    // METHODES PUBLIQUES :
    DeuxCoordonnees& operator= (const DeuxCoordonnees& de)
     { co1 = de.co1; co2 = de.co2; return (*this);};
    // acces aux coordonnées
    Coordonnee& Premier() {return co1;};
    Coordonnee& Second() {return co2;};
    Coordonnee Premier()const {return co1;};
    Coordonnee Second()const {return co2;};
    
  private :  
    // VARIABLES PROTEGEES : 
    Coordonnee co1,co2;

 };
 /// @}  // end of group

#endif  
