X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_AttributeTarget.cxx;h=07e96df826f2b154bf2926eec9035f301dbb938c;hb=e63d2a70e527b5911284cde1c19e03f077b10954;hp=8511dac238ce4415efa33435b3348d1f8d8b00fd;hpb=ec64825655b99b08182ef682868ccb732edb3c2a;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_AttributeTarget.cxx b/src/SALOMEDS/SALOMEDS_AttributeTarget.cxx index 8511dac23..07e96df82 100644 --- a/src/SALOMEDS/SALOMEDS_AttributeTarget.cxx +++ b/src/SALOMEDS/SALOMEDS_AttributeTarget.cxx @@ -1,36 +1,36 @@ -// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library 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 +// +// This library 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 // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : SALOMEDS_AttributeTarget.cxx // Author : Sergey RUIN // Module : SALOME - +// #include "SALOMEDS_AttributeTarget.hxx" #include "SALOMEDS.hxx" -#include - #include "SALOMEDSImpl_SObject.hxx" #include "SALOMEDS_SObject.hxx" - -SALOMEDS_AttributeTarget::SALOMEDS_AttributeTarget(const Handle(SALOMEDSImpl_AttributeTarget)& theAttr) +SALOMEDS_AttributeTarget::SALOMEDS_AttributeTarget(SALOMEDSImpl_AttributeTarget* theAttr) :SALOMEDS_GenericAttribute(theAttr) {} @@ -47,7 +47,7 @@ void SALOMEDS_AttributeTarget::Add(const _PTR(SObject)& theObject) if (_isLocal) { SALOMEDS::Locker lock; - Handle(SALOMEDSImpl_AttributeTarget)::DownCast(_local_impl)->Add(aSO->GetLocalImpl()); + dynamic_cast(_local_impl)->Add(*(aSO->GetLocalImpl())); } else SALOMEDS::AttributeTarget::_narrow(_corba_impl)->Add(aSO->GetCORBAImpl()); } @@ -60,19 +60,20 @@ std::vector<_PTR(SObject)> SALOMEDS_AttributeTarget::Get() if (_isLocal) { SALOMEDS::Locker lock; - Handle(TColStd_HSequenceOfTransient) aSeq = - Handle(SALOMEDSImpl_AttributeTarget)::DownCast(_local_impl)->Get(); - aLength = aSeq->Length(); - for (i = 1; i <= aLength; i++) { - aSO = new SALOMEDS_SObject(Handle(SALOMEDSImpl_SObject)::DownCast(aSeq->Value(i))); + std::vector aSeq = dynamic_cast(_local_impl)->Get(); + aLength = aSeq.size(); + for (i = 0; i < aLength; i++) { + aSO = new SALOMEDS_SObject(aSeq[i]); aVector.push_back(_PTR(SObject)(aSO)); } } else { SALOMEDS::Study::ListOfSObject_var aSeq = SALOMEDS::AttributeTarget::_narrow(_corba_impl)->Get(); aLength = aSeq->length(); - aSO = new SALOMEDS_SObject(aSeq[i].in()); - for (i = 0; i < aLength; i++) aVector.push_back(_PTR(SObject)(aSO)); + for (i = 0; i < aLength; i++) { + aSO = new SALOMEDS_SObject(aSeq[i].in()); + aVector.push_back(_PTR(SObject)(aSO)); + } } return aVector; @@ -84,7 +85,7 @@ void SALOMEDS_AttributeTarget::Remove(const _PTR(SObject)& theObject) if (_isLocal) { SALOMEDS::Locker lock; - Handle(SALOMEDSImpl_AttributeTarget)::DownCast(_local_impl)->Remove(aSO->GetLocalImpl()); + dynamic_cast(_local_impl)->Remove(*(aSO->GetLocalImpl())); } else SALOMEDS::AttributeTarget::_narrow(_corba_impl)->Remove(aSO->GetCORBAImpl()); }