//
#include "MEDFileJoint.hxx"
+#include "MEDFileBasis.hxx"
#include "MEDLoader.hxx"
#include "MEDLoaderBase.hxx"
#include "MEDFileSafeCaller.txx"
std::size_t MEDFileJointCorrespondence::getHeapMemorySizeWithoutChildren() const
{
- return sizeof(MCAuto<DataArrayInt>);
+ return sizeof(MCAuto<DataArrayIdType>);
}
std::vector<const BigMemoryObject *> MEDFileJointCorrespondence::getDirectChildrenWithNull() const
* \param [in] loc_geo_type - the local geometry type of correspondence.
* \param [in] rem_geo_type - the remote geometry type of correspondence.
*/
-MEDFileJointCorrespondence::MEDFileJointCorrespondence(DataArrayInt* correspondence,
+MEDFileJointCorrespondence::MEDFileJointCorrespondence(DataArrayIdType* correspondence,
bool isNodal,
INTERP_KERNEL::NormalizedCellType loc_geo_type,
INTERP_KERNEL::NormalizedCellType rem_geo_type):
MEDFileJointCorrespondence::setCorrespondence( correspondence );
}
-MEDFileJointCorrespondence* MEDFileJointCorrespondence::New(DataArrayInt* correspondence,
+MEDFileJointCorrespondence* MEDFileJointCorrespondence::New(DataArrayIdType* correspondence,
INTERP_KERNEL::NormalizedCellType loc_geo_type,
INTERP_KERNEL::NormalizedCellType rem_geo_type)
{
/*!
* Returns a new MEDFileJointCorrespondence of nodes
*/
-MEDFileJointCorrespondence *MEDFileJointCorrespondence::New(DataArrayInt* correspondence)
+MEDFileJointCorrespondence *MEDFileJointCorrespondence::New(DataArrayIdType* correspondence)
{
return new MEDFileJointCorrespondence(correspondence);
}
MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod);
std::ostringstream oss; oss << "MEDFileJointCorrespondence : error on attempt to write in file : \"" << fileName << "\"";
- MEDFileUtilities::CheckMEDCode(fid,fid,oss.str());
+ MEDFileUtilities::CheckMEDCode((int)fid,fid,oss.str());
if (( !_is_nodal ) &&
( _loc_geo_type == INTERP_KERNEL::NORM_ERROR ||
throw INTERP_KERNEL::Exception( "Geometric type not specified for a cell Joint" );
}
- if ( (const DataArrayInt *)_correspondence )
+ if ( (const DataArrayIdType *)_correspondence )
{
writeLL(fid, localMeshName, jointName, order, iteration);
}
order, iteration,
MED_NODE, MED_NONE,
MED_NODE, MED_NONE,
- _correspondence->getNbOfElems()/2,
- _correspondence->getConstPointer()));
+ ToMedInt(_correspondence->getNbOfElems()/2),
+ ToMedIntArray(_correspondence)->getConstPointer()));
}
else
{
order, iteration,
MED_CELL, typmai3[ _loc_geo_type ],
MED_CELL, typmai3[ _rem_geo_type ],
- _correspondence->getNbOfElems()/2,
- _correspondence->getConstPointer()));
+ ToMedInt(_correspondence->getNbOfElems()/2),
+ ToMedIntArray(_correspondence)->getConstPointer()));
}
}
-void MEDFileJointCorrespondence::setCorrespondence(DataArrayInt *corr)
+void MEDFileJointCorrespondence::setCorrespondence(DataArrayIdType *corr)
{
_correspondence=corr;
if ( corr )
oss << "- entity type of the correspondence : " << ( getIsNodal() ? "NODE" : "CELL" ) << "\n";
oss << "- Local geometry type of the correspondence : " << INTERP_KERNEL::CellModel::GetCellModel( _loc_geo_type ).getRepr() << "\n";
oss << "- Remote geometry type of the correspondence : " << INTERP_KERNEL::CellModel::GetCellModel( _rem_geo_type ).getRepr() << "\n";
- if ( (const DataArrayInt *)_correspondence )
+ if ( (const DataArrayIdType *)_correspondence )
{
oss << "- Number entity of the correspondence : " << getCorrespondence()->getNumberOfTuples() << "\n";
- const DataArrayInt* tmp=getCorrespondence();
+ const DataArrayIdType* tmp=getCorrespondence();
oss << "- Correspondence : <<";
- for(const int *it=tmp->begin();it!=tmp->end();it++)
+ for(const mcIdType *it=tmp->begin();it!=tmp->end();it++)
oss<< *it << " ";
}
else
std::size_t MEDFileJointOneStep::getHeapMemorySizeWithoutChildren() const
{
- return _correspondences.capacity()*sizeof(MCAuto<DataArrayInt>);
+ return _correspondences.capacity()*sizeof(MCAuto<DataArrayIdType>);
}
std::vector<const BigMemoryObject *> MEDFileJointOneStep::getDirectChildrenWithNull() const
MEDFileJointOneStep::MEDFileJointOneStep(med_idt fid, const std::string& mName, const std::string& jointName, int num)
{
- int order, iteration, ncorrespondence;
+ med_int order, iteration, ncorrespondence;
MEDFILESAFECALLERRD0(MEDsubdomainComputingStepInfo,(fid, mName.c_str(), jointName.c_str(), num, &order, &iteration, &ncorrespondence));
- MEDFileJointOneStep::setOrder(order);
- MEDFileJointOneStep::setIteration(iteration);
+ MEDFileJointOneStep::setOrder(FromMedInt<int>(order));
+ MEDFileJointOneStep::setIteration(FromMedInt<int>(iteration));
for ( int cur_it = 1; cur_it <= ncorrespondence; ++cur_it )
{
- int num_entity;
+ med_int num_entity;
med_entity_type loc_ent_type, rem_ent_type;
med_geometry_type loc_geo_type, rem_geo_type;
MEDFILESAFECALLERRD0(MEDsubdomainCorrespondenceSizeInfo,(fid, mName.c_str(), jointName.c_str(), order, iteration, cur_it,
&loc_ent_type, &loc_geo_type, &rem_ent_type, &rem_geo_type, &num_entity));
if ( num_entity > 0 )
{
- MCAuto<DataArrayInt> correspondence=DataArrayInt::New();
+ MCAuto<DataArrayMedInt> correspondence=DataArrayMedInt::New();
correspondence->alloc(num_entity*2, 1);
MEDFILESAFECALLERRD0(MEDsubdomainCorrespondenceRd,(fid, mName.c_str(), jointName.c_str(), order, iteration, loc_ent_type,
loc_geo_type, rem_ent_type, rem_geo_type, correspondence->getPointer()));
cor->setIsNodal( loc_ent_type == MED_NODE );
cor->setLocalGeometryType ( convertGeometryType( loc_geo_type ));
cor->setRemoteGeometryType( convertGeometryType( rem_geo_type ));
- cor->setCorrespondence( correspondence );
+ cor->setCorrespondence( FromMedIntArray<mcIdType>(correspondence ));
_correspondences.push_back(cor);
}
}
med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode);
MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod);
std::ostringstream oss; oss << "MEDFileJointOneStep : error on attempt to write in file : \"" << fileName << "\"";
- MEDFileUtilities::CheckMEDCode(fid,fid,oss.str());
+ MEDFileUtilities::CheckMEDCode((int)fid,fid,oss.str());
if ( _correspondences.empty() )
throw INTERP_KERNEL::Exception("MEDFileJointOneStep::write : no correspondences defined !");
writeLL(fid, localMeshName, jointName);
int MEDFileJointOneStep::getNumberOfCorrespondences() const
{
- return _correspondences.size();
+ return (int)_correspondences.size();
}
/** Return a borrowed reference (caller is not responsible) */
INTERP_KERNEL::AutoPtr<char> joint_name=MEDLoaderBase::buildEmptyString(MED_NAME_SIZE);
INTERP_KERNEL::AutoPtr<char> desc_name=MEDLoaderBase::buildEmptyString(MED_COMMENT_SIZE);
INTERP_KERNEL::AutoPtr<char> rem_mesh_name=MEDLoaderBase::buildEmptyString(MED_NAME_SIZE);
- int domain_number=0, nstep=0, nocstpncorrespondence=0;
+ med_int domain_number=0, nstep=0, nocstpncorrespondence=0;
MEDFILESAFECALLERRD0(MEDsubdomainJointInfo,(fid,mName.c_str(), curJoint, joint_name, desc_name, &domain_number,rem_mesh_name,
&nstep, &nocstpncorrespondence));
setLocalMeshName(mName);
setRemoteMeshName(MEDLoaderBase::buildStringFromFortran(rem_mesh_name,MED_NAME_SIZE));
setDescription(MEDLoaderBase::buildStringFromFortran(desc_name,MED_COMMENT_SIZE));
setJointName(MEDLoaderBase::buildStringFromFortran(joint_name,MED_NAME_SIZE));
- setDomainNumber(domain_number);
+ setDomainNumber(FromMedInt<int>(domain_number));
for(int cur_step=1; cur_step <= nstep; ++cur_step)
{
MEDFileJointOneStep *cor=MEDFileJointOneStep::New(fid, mName.c_str(), getJointName(), cur_step);
int MEDFileJoint::getNumberOfSteps() const
{
- return _joint.size();
+ return (int)_joint.size();
}
/** Return a borrowed reference (caller is not responsible) */
int MEDFileJoints::getNumberOfJoints() const
{
- return _joints.size();
+ return (int)_joints.size();
}
/** Return a borrowed reference (caller is not responsible) */
MEDFileJoints::MEDFileJoints(med_idt fid, const std::string& meshName)
{
- int num_joint=MEDnSubdomainJoint(fid, meshName.c_str() );
+ med_int num_joint=MEDnSubdomainJoint(fid, meshName.c_str() );
for(int i = 1; i <= num_joint; i++)
_joints.push_back(MEDFileJoint::New(fid,meshName,i));
}