Back to index

salome-med  6.5.0
Public Types | Public Member Functions | Protected Attributes | Friends
MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG > Class Template Reference

#include <MEDMEM_GaussLocalization.hxx>

Collaboration diagram for MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef MEDMEM_ArrayInterface
< double, INTERLACING_TAG,
NoGauss >::Array 
ArrayNoGauss

Public Member Functions

 GAUSS_LOCALIZATION () throw (MEDEXCEPTION)
 GAUSS_LOCALIZATION (const string &locName, const MED_EN::medGeometryElement typeGeo, const int nGauss, const ArrayNoGauss &cooRef, const ArrayNoGauss &cooGauss, const vector< double > &wg) throw (MEDEXCEPTION)
 GAUSS_LOCALIZATION (const string &locName, const MED_EN::medGeometryElement typeGeo, const int nGauss, const double *const cooRef, const double *const cooGauss, const double *const wg) throw (MEDEXCEPTION)
virtual ~GAUSS_LOCALIZATION ()
GAUSS_LOCALIZATIONoperator= (const GAUSS_LOCALIZATION &gaussLoc)
bool operator== (const GAUSS_LOCALIZATION &loc) const
string getName () const
MED_EN::medGeometryElement getType () const
int getNbGauss () const
const ArrayNoGaussgetRefCoo () const
const ArrayNoGaussgetGsCoo () const
vector< double > getWeight () const
MED_EN::medModeSwitch getInterlacingType () const

Protected Attributes

string _locName
MED_EN::medGeometryElement _typeGeo
int _nGauss
ArrayNoGauss _cooRef
ArrayNoGauss _cooGauss
vector< double > _wg
MED_EN::medModeSwitch _interlacingType

Friends

ostream & operator (ostream &os, const GAUSS_LOCALIZATION< INTERLACING_TAG > &loc)

Detailed Description

template<class INTERLACING_TAG>
class MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >

Definition at line 59 of file MEDMEM_GaussLocalization.hxx.


Member Typedef Documentation

template<class INTERLACING_TAG>
typedef MEDMEM_ArrayInterface<double,INTERLACING_TAG,NoGauss>::Array MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::ArrayNoGauss

Definition at line 61 of file MEDMEM_GaussLocalization.hxx.


Constructor & Destructor Documentation

template<class INTERLACING_TAG >
MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::GAUSS_LOCALIZATION ( ) throw (MEDEXCEPTION)

Definition at line 106 of file MEDMEM_GaussLocalization.hxx.

                                                                                                                :
    _typeGeo(MED_EN::MED_NONE), _nGauss(-1),
    _interlacingType( SET_INTERLACING_TYPE<INTERLACING_TAG>::_interlacingType) 
  {}
template<class INTERLACING_TAG >
MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::GAUSS_LOCALIZATION ( const string &  locName,
const MED_EN::medGeometryElement  typeGeo,
const int  nGauss,
const ArrayNoGauss cooRef,
const ArrayNoGauss cooGauss,
const vector< double > &  wg 
) throw (MEDEXCEPTION)

Definition at line 111 of file MEDMEM_GaussLocalization.hxx.

                                                                                                                                             :
    _locName(locName),_typeGeo(typeGeo),_nGauss(nGauss),_cooRef(cooRef),_cooGauss(cooGauss),_wg(wg),
    _interlacingType(SET_INTERLACING_TYPE<INTERLACING_TAG>::_interlacingType)
  {
    const char * LOC = "GAUSS_LOCALIZATION(locName,typeGeo, nGauss, const ArrayNoGauss & cooRef,..) : ";
    BEGIN_OF_MED(LOC);
    if (_cooRef.getDim() != _cooGauss.getDim() )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooRef and cooGaus must have the same number of components")) ;

    if (_cooRef.getArraySize() != (_typeGeo%100)*(_typeGeo/100) )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooRef size is " << _cooRef.getArraySize()
                                     << " and should be (_typeGeo%100)*(_typeGeo/100) "
                                     << (_typeGeo%100)*(_typeGeo/100))) ;

    if (_cooGauss.getArraySize() != _nGauss*(_typeGeo/100) )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooGauss must be of size nGauss*(_typeGeo/100) "
                                     << _nGauss*(_typeGeo/100) ));
    if ((int)_wg.size() != _nGauss )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"wg must be of size nGauss "
                                     << _nGauss ));

  END_OF_MED(LOC);
  }
template<class INTERLACING_TAG >
MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::GAUSS_LOCALIZATION ( const string &  locName,
const MED_EN::medGeometryElement  typeGeo,
const int  nGauss,
const double *const  cooRef,
const double *const  cooGauss,
const double *const  wg 
) throw (MEDEXCEPTION)

Definition at line 141 of file MEDMEM_GaussLocalization.hxx.

                                                             :
    _locName(locName),_typeGeo(typeGeo),_nGauss(nGauss),
    _cooRef(ArrayNoGauss(const_cast<double *>(cooRef),typeGeo/100,typeGeo%100)),
    _cooGauss(ArrayNoGauss(const_cast<double *>(cooGauss),typeGeo/100,_nGauss)),
    _wg(vector<double>(wg,wg+nGauss)),
    _interlacingType(SET_INTERLACING_TYPE<INTERLACING_TAG>::_interlacingType)
  {
    const char * LOC = "GAUSS_LOCALIZATION(locName,typeGeo, nGauss, const double * cooRef,..) :";
    BEGIN_OF_MED(LOC);
    if (_cooRef.getDim() != _cooGauss.getDim() )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooRef and cooGaus must have the same number of components")) ;

    if (_cooRef.getArraySize() != (_typeGeo%100)*(_typeGeo/100) )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooRef must be of size (_typeGeo%100)*(_typeGeo/100) "
                                     << (_typeGeo%100)*(_typeGeo/100))) ;

    if (_cooGauss.getArraySize() != _nGauss*(_typeGeo/100) )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"cooGauss must be of size nGauss*(_typeGeo/100) "
                                     << _nGauss*(_typeGeo/100) ));
    if ((int)_wg.size() != _nGauss )
      throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<"wg must be of size nGauss "
                                     << _nGauss ));
  END_OF_MED(LOC);
  }
template<class INTERLACING_TAG>
virtual MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::~GAUSS_LOCALIZATION ( ) [inline, virtual]

Definition at line 93 of file MEDMEM_GaussLocalization.hxx.

{};

Member Function Documentation

template<class INTERLACING_TAG>
const ArrayNoGauss& MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getGsCoo ( ) const [inline]

Definition at line 101 of file MEDMEM_GaussLocalization.hxx.

{return _cooGauss;}   //Ces tableaux sont petits

Here is the caller graph for this function:

template<class INTERLACING_TAG>
MED_EN::medModeSwitch MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getInterlacingType ( ) const [inline]

Definition at line 103 of file MEDMEM_GaussLocalization.hxx.

{ return _interlacingType;}
template<class INTERLACING_TAG>
string MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getName ( ) const [inline]

Definition at line 97 of file MEDMEM_GaussLocalization.hxx.

{return _locName;}
template<class INTERLACING_TAG>
int MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getNbGauss ( ) const [inline]

Definition at line 99 of file MEDMEM_GaussLocalization.hxx.

{return _nGauss;}

Here is the caller graph for this function:

template<class INTERLACING_TAG>
const ArrayNoGauss& MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getRefCoo ( ) const [inline]

Definition at line 100 of file MEDMEM_GaussLocalization.hxx.

{return _cooRef;}     //Ces tableaux sont petits

Here is the caller graph for this function:

template<class INTERLACING_TAG>
MED_EN::medGeometryElement MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getType ( ) const [inline]

Definition at line 98 of file MEDMEM_GaussLocalization.hxx.

{return _typeGeo;}

Here is the caller graph for this function:

template<class INTERLACING_TAG>
vector<double> MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::getWeight ( ) const [inline]

Definition at line 102 of file MEDMEM_GaussLocalization.hxx.

{return _wg;}         //Ces tableaux sont petits

Definition at line 172 of file MEDMEM_GaussLocalization.hxx.

  {
    if ( this == &gaussLoc) return *this;

    _locName  = gaussLoc._locName;
    _typeGeo  = gaussLoc._typeGeo;
    _nGauss   = gaussLoc._nGauss;
    //_cooRef.setPtr((double*)gaussLoc._cooRef.getPtr(), false, true);     //utilisation de la copie superficielle par défaut n'est pas une bonne idée
    //_cooGauss.setPtr((double*)gaussLoc._cooGauss.getPtr(), false, true); //dans l'opérateur = de MEDnArray
    _cooRef   = gaussLoc._cooRef;
    _cooGauss = gaussLoc._cooGauss;
    _wg       = gaussLoc._wg;

    return *this;
  }
template<class INTERLACING_TAG >
bool MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::operator== ( const GAUSS_LOCALIZATION< INTERLACING_TAG > &  loc) const

Definition at line 189 of file MEDMEM_GaussLocalization.hxx.

                                                                                             {
    return (
            _locName  == gaussLoc._locName &&
            _typeGeo  == gaussLoc._typeGeo &&
            _nGauss   == gaussLoc._nGauss  &&
            _cooRef   == gaussLoc._cooRef  &&   //utilisation de la copie superficielle par défaut n'est pas une bonne idée
            _cooGauss == gaussLoc._cooGauss &&  //dans l'opérateur = de MEDnArray
            _wg       == gaussLoc._wg
            );
  }

Friends And Related Function Documentation

template<class INTERLACING_TAG>
ostream& operator ( ostream &  os,
const GAUSS_LOCALIZATION< INTERLACING_TAG > &  loc 
) [friend]

Member Data Documentation

template<class INTERLACING_TAG>
ArrayNoGauss MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_cooGauss [protected]

Definition at line 69 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
ArrayNoGauss MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_cooRef [protected]

Definition at line 68 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
MED_EN::medModeSwitch MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_interlacingType [protected]

Definition at line 71 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
string MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_locName [protected]

Definition at line 65 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
int MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_nGauss [protected]

Definition at line 67 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
MED_EN::medGeometryElement MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_typeGeo [protected]

Definition at line 66 of file MEDMEM_GaussLocalization.hxx.

template<class INTERLACING_TAG>
vector<double> MEDMEM::GAUSS_LOCALIZATION< INTERLACING_TAG >::_wg [protected]

Definition at line 70 of file MEDMEM_GaussLocalization.hxx.


The documentation for this class was generated from the following file: