X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDPartitioner%2FMEDPARTITIONER_ConnectZone.cxx;h=3a1c9ce67c2624d8cf8d0d39f25cc7894d7ffb72;hb=4b4c848900cf2fb2cd8cb585c6ff21c7d284b87b;hp=78fd1a0f49658cd085b8f1455f9f1e5b7a902239;hpb=1ca2b215a1ae474745fabc87dd9c5c98e9af6354;p=tools%2Fmedcoupling.git diff --git a/src/MEDPartitioner/MEDPARTITIONER_ConnectZone.cxx b/src/MEDPartitioner/MEDPARTITIONER_ConnectZone.cxx index 78fd1a0f4..3a1c9ce67 100644 --- a/src/MEDPartitioner/MEDPARTITIONER_ConnectZone.cxx +++ b/src/MEDPartitioner/MEDPARTITIONER_ConnectZone.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,9 +19,11 @@ #include "MEDPARTITIONER_ConnectZone.hxx" +#include "MEDCouplingSkyLineArray.hxx" + #include -using namespace ParaMEDMEM; +using namespace MEDCoupling; MEDPARTITIONER::ConnectZone::ConnectZone(): _name("") @@ -30,16 +32,16 @@ MEDPARTITIONER::ConnectZone::ConnectZone(): ,_distant_domain_number(0) ,_node_corresp(0) ,_face_corresp(0) + ,_local_mesh(0) + ,_distant_mesh(0) { } MEDPARTITIONER::ConnectZone::~ConnectZone() { - delete _node_corresp; - delete _face_corresp; for(std::map < std::pair ,MEDCouplingSkyLineArray * >::iterator iter=_entity_corresp.begin(); iter!=_entity_corresp.end();iter++) { - delete iter->second; + iter->second->decrRef(); } } @@ -51,6 +53,8 @@ MEDPARTITIONER::ConnectZone::ConnectZone(const ConnectZone & myConnectZone): ,_node_corresp(myConnectZone._node_corresp) ,_face_corresp(myConnectZone._face_corresp) ,_entity_corresp(myConnectZone._entity_corresp) + ,_local_mesh(0) + ,_distant_mesh(0) { } @@ -74,12 +78,12 @@ int MEDPARTITIONER::ConnectZone::getLocalDomainNumber() const return _local_domain_number; } -ParaMEDMEM::MEDCouplingUMesh *MEDPARTITIONER::ConnectZone::getLocalMesh() const +MEDCouplingUMesh *MEDPARTITIONER::ConnectZone::getLocalMesh() const { return _local_mesh; } -ParaMEDMEM::MEDCouplingUMesh *MEDPARTITIONER::ConnectZone::getDistantMesh() const +MEDCouplingUMesh *MEDPARTITIONER::ConnectZone::getDistantMesh() const { return _distant_mesh; } @@ -102,7 +106,7 @@ const int *MEDPARTITIONER::ConnectZone::getNodeCorrespIndex() const const int *MEDPARTITIONER::ConnectZone::getNodeCorrespValue() const { - return _node_corresp->getValue(); + return _node_corresp->getValues(); } int MEDPARTITIONER::ConnectZone::getNodeNumber() const @@ -110,9 +114,9 @@ int MEDPARTITIONER::ConnectZone::getNodeNumber() const return _node_corresp->getNumberOf(); } -const ParaMEDMEM::MEDCouplingSkyLineArray * MEDPARTITIONER::ConnectZone::getNodeCorresp() const +const MEDCouplingSkyLineArray * MEDPARTITIONER::ConnectZone::getNodeCorresp() const { - return _node_corresp; + return (const MEDCouplingSkyLineArray *)_node_corresp; } const int *MEDPARTITIONER::ConnectZone::getFaceCorrespIndex() const @@ -122,7 +126,7 @@ const int *MEDPARTITIONER::ConnectZone::getFaceCorrespIndex() const const int *MEDPARTITIONER::ConnectZone::getFaceCorrespValue() const { - return _face_corresp->getValue(); + return _face_corresp->getValues(); } int MEDPARTITIONER::ConnectZone::getFaceNumber() const @@ -130,7 +134,7 @@ int MEDPARTITIONER::ConnectZone::getFaceNumber() const return _face_corresp->getNumberOf(); } -const ParaMEDMEM::MEDCouplingSkyLineArray * MEDPARTITIONER::ConnectZone::getFaceCorresp() const +const MEDCouplingSkyLineArray * MEDPARTITIONER::ConnectZone::getFaceCorresp() const { return _face_corresp; } @@ -156,7 +160,7 @@ const int *MEDPARTITIONER::ConnectZone::getEntityCorrespValue(int localEntity, for (map_iter iter=_entity_corresp.begin();iter!=_entity_corresp.end();iter++) { if ((iter->first).first==localEntity && (iter->first).second==distantEntity) - return iter->second->getValue(); + return iter->second->getValues(); } return 0; } @@ -187,7 +191,7 @@ int MEDPARTITIONER::ConnectZone::getEntityCorrespLength(int localEntity, return 0; } -const ParaMEDMEM::MEDCouplingSkyLineArray * +const MEDCouplingSkyLineArray * MEDPARTITIONER::ConnectZone::getEntityCorresp(int localEntity, int distantEntity) const { typedef std::map, MEDCouplingSkyLineArray*>::const_iterator map_iter; @@ -234,12 +238,12 @@ void MEDPARTITIONER::ConnectZone::setLocalDomainNumber(int localDomainNumber) _local_domain_number=localDomainNumber; } -void MEDPARTITIONER::ConnectZone::setLocalMesh(ParaMEDMEM::MEDCouplingUMesh * localMesh) +void MEDPARTITIONER::ConnectZone::setLocalMesh(MEDCouplingUMesh * localMesh) { _local_mesh=localMesh; } -void MEDPARTITIONER::ConnectZone::setDistantMesh(ParaMEDMEM::MEDCouplingUMesh * distantMesh) +void MEDPARTITIONER::ConnectZone::setDistantMesh(MEDCouplingUMesh * distantMesh) { _distant_mesh=distantMesh; } @@ -250,8 +254,8 @@ void MEDPARTITIONER::ConnectZone::setDistantMesh(ParaMEDMEM::MEDCouplingUMesh * */ void MEDPARTITIONER::ConnectZone::setNodeCorresp(const int * nodeCorresp, int nbnode) { - MEDCouplingAutoRefCountObjectPtr indexArr( DataArrayInt::New() ); - MEDCouplingAutoRefCountObjectPtr valueArr( DataArrayInt::New() ); + MCAuto indexArr( DataArrayInt::New() ); + MCAuto valueArr( DataArrayInt::New() ); indexArr->alloc( nbnode+1 ); valueArr->alloc( 2*nbnode ); int * index = indexArr->getPointer(); @@ -263,13 +267,13 @@ void MEDPARTITIONER::ConnectZone::setNodeCorresp(const int * nodeCorresp, int nb value[2*i+1]=nodeCorresp[2*i+1]; } index[nbnode]=2*nbnode; - setNodeCorresp( new MEDCouplingSkyLineArray( indexArr, valueArr )); + setNodeCorresp( MEDCouplingSkyLineArray::New( indexArr, valueArr )); } void MEDPARTITIONER::ConnectZone::setNodeCorresp(MEDCouplingSkyLineArray* array) { - if ( _node_corresp ) delete _node_corresp; - _node_corresp = array; + MCAuto arr(array); + _node_corresp = arr; } /*! transforms an int array containing @@ -278,8 +282,8 @@ void MEDPARTITIONER::ConnectZone::setNodeCorresp(MEDCouplingSkyLineArray* array) */ void MEDPARTITIONER::ConnectZone::setFaceCorresp(const int * faceCorresp, int nbface) { - MEDCouplingAutoRefCountObjectPtr indexArr( DataArrayInt::New() ); - MEDCouplingAutoRefCountObjectPtr valueArr( DataArrayInt::New() ); + MCAuto indexArr( DataArrayInt::New() ); + MCAuto valueArr( DataArrayInt::New() ); indexArr->alloc( nbface+1 ); valueArr->alloc( 2*nbface ); int * index = indexArr->getPointer(); @@ -291,13 +295,13 @@ void MEDPARTITIONER::ConnectZone::setFaceCorresp(const int * faceCorresp, int nb value[2*i+1]=faceCorresp[2*i+1]; } index[nbface]=2*nbface; - setFaceCorresp( new MEDCouplingSkyLineArray( indexArr, valueArr )); + setFaceCorresp( MEDCouplingSkyLineArray::New( indexArr, valueArr )); } void MEDPARTITIONER::ConnectZone::setFaceCorresp(MEDCouplingSkyLineArray* array) { - if ( _face_corresp ) delete _face_corresp; - _face_corresp = array; + MCAuto arr (array); + _face_corresp = arr; } /*! transforms an int array containing @@ -309,8 +313,8 @@ void MEDPARTITIONER::ConnectZone::setFaceCorresp(MEDCouplingSkyLineArray* array) void MEDPARTITIONER::ConnectZone::setEntityCorresp(int localEntity, int distantEntity, const int *entityCorresp, int nbentity) { - MEDCouplingAutoRefCountObjectPtr indexArr( DataArrayInt::New() ); - MEDCouplingAutoRefCountObjectPtr valueArr( DataArrayInt::New() ); + MCAuto indexArr( DataArrayInt::New() ); + MCAuto valueArr( DataArrayInt::New() ); indexArr->alloc( nbentity+1 ); valueArr->alloc( 2*nbentity ); int * index = indexArr->getPointer(); @@ -322,16 +326,16 @@ void MEDPARTITIONER::ConnectZone::setEntityCorresp(int localEntity, int distantE value[2*i+1]=entityCorresp[2*i+1]; } index[nbentity]=2*nbentity; - setEntityCorresp( localEntity, distantEntity, new MEDCouplingSkyLineArray(indexArr,valueArr)); + setEntityCorresp( localEntity, distantEntity, MEDCouplingSkyLineArray::New(indexArr,valueArr)); } void MEDPARTITIONER::ConnectZone::setEntityCorresp(int localEntity, int distantEntity, MEDCouplingSkyLineArray *array) { - ParaMEDMEM::MEDCouplingSkyLineArray * nullArray = 0; - std::map < std::pair , ParaMEDMEM::MEDCouplingSkyLineArray * >::iterator it; + MEDCouplingSkyLineArray * nullArray = 0; + std::map < std::pair , MEDCouplingSkyLineArray * >::iterator it; it = _entity_corresp.insert ( std::make_pair( std::make_pair(localEntity,distantEntity), nullArray )).first; - if ( it->second != nullArray ) delete it->second; + if ( it->second != nullArray ) it->second->decrRef(); it->second = array; }