Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MEDCoupling::MEDCouplingGaussLocalization Class Reference

Public Member Functions

MCAuto< MEDCouplingUMeshbuildRefCell () const
 
void checkConsistencyLight () const
 
const double * fillWithValues (const double *vals)
 
int getDimension () const
 
double getGaussCoord (int gaussPtIdInCell, int comp) const
 
const std::vector< double > & getGaussCoords () const
 
std::size_t getMemorySize () const
 
int getNumberOfGaussPt () const
 
int getNumberOfPtsInRefCell () const
 
double getRefCoord (int ptIdInCell, int comp) const
 
const std::vector< double > & getRefCoords () const
 
std::string getStringRepr () const
 
INTERP_KERNEL::NormalizedCellType getType () const
 
double getWeight (int gaussPtIdInCell, double newVal) const
 
const std::vector< double > & getWeights () const
 
bool isEqual (const MEDCouplingGaussLocalization &other, double eps) const
 
MCAuto< DataArrayDoublelocalizePtsInRefCooForEachCell (const DataArrayDouble *ptsInRefCoo, const MEDCouplingUMesh *mesh) const
 
 MEDCouplingGaussLocalization (INTERP_KERNEL::NormalizedCellType type, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &w)
 
 MEDCouplingGaussLocalization (INTERP_KERNEL::NormalizedCellType typ)
 
void pushTinySerializationDblInfo (std::vector< double > &tinyInfo) const
 
void pushTinySerializationIntInfo (std::vector< int > &tinyInfo) const
 
void setGaussCoord (int gaussPtIdInCell, int comp, double newVal)
 
void setGaussCoords (const std::vector< double > &gsCoo)
 
void setRefCoord (int ptIdInCell, int comp, double newVal)
 
void setRefCoords (const std::vector< double > &refCoo)
 
void setType (INTERP_KERNEL::NormalizedCellType typ)
 
void setWeight (int gaussPtIdInCell, double newVal)
 
void setWeights (const std::vector< double > &w)
 

Static Public Member Functions

static bool AreAlmostEqual (const std::vector< double > &v1, const std::vector< double > &v2, double eps)
 
static MEDCouplingGaussLocalization BuildNewInstanceFromTinyInfo (int dim, const std::vector< int > &tinyData)
 

Constructor & Destructor Documentation

MEDCouplingGaussLocalization::MEDCouplingGaussLocalization ( INTERP_KERNEL::NormalizedCellType  type,
const std::vector< double > &  refCoo,
const std::vector< double > &  gsCoo,
const std::vector< double > &  w 
)
MEDCouplingGaussLocalization::MEDCouplingGaussLocalization ( INTERP_KERNEL::NormalizedCellType  typ)

Member Function Documentation

void MEDCouplingGaussLocalization::setType ( INTERP_KERNEL::NormalizedCellType  typ)
int MEDCoupling::MEDCouplingGaussLocalization::getNumberOfGaussPt ( ) const
int MEDCouplingGaussLocalization::getDimension ( ) const
int MEDCouplingGaussLocalization::getNumberOfPtsInRefCell ( ) const
std::string MEDCouplingGaussLocalization::getStringRepr ( ) const
std::size_t MEDCouplingGaussLocalization::getMemorySize ( ) const
void MEDCouplingGaussLocalization::checkConsistencyLight ( ) const
bool MEDCouplingGaussLocalization::isEqual ( const MEDCouplingGaussLocalization other,
double  eps 
) const

References AreAlmostEqual().

void MEDCouplingGaussLocalization::pushTinySerializationIntInfo ( std::vector< int > &  tinyInfo) const

Completely useless method for end user. Only for CORBA MPI serialization/unserialization. push at the end of tinyInfo its basic serialization info. The size of pushed data is always the same.

Parameters
tinyInfoinout parameter.

References getNumberOfGaussPt(), and getNumberOfPtsInRefCell().

void MEDCouplingGaussLocalization::pushTinySerializationDblInfo ( std::vector< double > &  tinyInfo) const

Completely useless method for end user. Only for CORBA MPI serialization/unserialization. push at the end of tinyInfo its basic serialization info. The size of pushed data is NOT always the same contrary to pushTinySerializationIntInfo.

Parameters
tinyInfoinout parameter.
const double * MEDCouplingGaussLocalization::fillWithValues ( const double *  vals)

This method operates the exact inverse operation than MEDCouplingGaussLocalization::pushTinySerializationDblInfo method. This is one of the last step of unserialization process. This method should be called on an object resized by buildNewInstanceFromTinyInfo static method. This method takes in argument a pointer 'vals' that point to the begin of double data pushed remotely by pushTinySerializationDblInfo method. This method returns the pointer 'vals' with an offset of size what it has been read in this method.

MCAuto< DataArrayDouble > MEDCouplingGaussLocalization::localizePtsInRefCooForEachCell ( const DataArrayDouble ptsInRefCoo,
const MEDCouplingUMesh mesh 
) const

Given points in ptsInRefCoo in the reference coordinates of this (in _ref_coord attribute) this method computes their coordinates in real world for each cells in mesh. So the returned array will contain nbCells* ptsInRefCoo->getNumberOfTuples() tuples and the number of component will be equal to the dimension of this.

This method ignores Gauss points in this and only those in ptsInRefCoo are considered here.

References MEDCoupling::DataArrayTemplate< T >::begin(), MEDCoupling::DataArrayTemplate< T >::checkAllocated(), MEDCoupling::MEDCouplingUMesh::checkConsistencyLight(), MEDCoupling::MEDCouplingPointSet::getCoords(), getDimension(), MEDCoupling::MEDCouplingUMesh::getNodalConnectivity(), MEDCoupling::MEDCouplingUMesh::getNodalConnectivityIndex(), MEDCoupling::MEDCouplingUMesh::getNumberOfCells(), MEDCoupling::DataArray::getNumberOfComponents(), getNumberOfPtsInRefCell(), MEDCoupling::DataArrayTemplate< T >::getNumberOfTuples(), MEDCoupling::MEDCouplingPointSet::getSpaceDimension(), getType(), getWeights(), and MEDCoupling::DataArrayDouble::New().

const std::vector<double>& MEDCoupling::MEDCouplingGaussLocalization::getRefCoords ( ) const
double MEDCouplingGaussLocalization::getRefCoord ( int  ptIdInCell,
int  comp 
) const
const std::vector<double>& MEDCoupling::MEDCouplingGaussLocalization::getGaussCoords ( ) const
double MEDCouplingGaussLocalization::getGaussCoord ( int  gaussPtIdInCell,
int  comp 
) const
double MEDCouplingGaussLocalization::getWeight ( int  gaussPtIdInCell,
double  newVal 
) const
void MEDCouplingGaussLocalization::setRefCoord ( int  ptIdInCell,
int  comp,
double  newVal 
)

This method sets the comp_th component of ptIdInCell_th point coordinate of reference element of type this->_type.

Exceptions
ifnot 0<=ptIdInCell<nbOfNodePerCell or if not 0<=comp<dim
void MEDCouplingGaussLocalization::setGaussCoord ( int  gaussPtIdInCell,
int  comp,
double  newVal 
)
void MEDCouplingGaussLocalization::setWeight ( int  gaussPtIdInCell,
double  newVal 
)
void MEDCouplingGaussLocalization::setRefCoords ( const std::vector< double > &  refCoo)
void MEDCouplingGaussLocalization::setGaussCoords ( const std::vector< double > &  gsCoo)
void MEDCouplingGaussLocalization::setWeights ( const std::vector< double > &  w)
MEDCouplingGaussLocalization MEDCouplingGaussLocalization::BuildNewInstanceFromTinyInfo ( int  dim,
const std::vector< int > &  tinyData 
)
static
bool MEDCouplingGaussLocalization::AreAlmostEqual ( const std::vector< double > &  v1,
const std::vector< double > &  v2,
double  eps 
)
static