X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_AttributeSequenceOfReal_i.cxx;h=f918b8e6d30ec3b27a601b057a310cbe9dc49354;hb=da864f46c273a65887831d84e852cf2b20f8a962;hp=caf8cfa7cffff314029330348130cc8083934b9b;hpb=4655b0b0eb5345da6a86852021014b0cbae2ad30;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_AttributeSequenceOfReal_i.cxx b/src/SALOMEDS/SALOMEDS_AttributeSequenceOfReal_i.cxx index caf8cfa7c..f918b8e6d 100644 --- a/src/SALOMEDS/SALOMEDS_AttributeSequenceOfReal_i.cxx +++ b/src/SALOMEDS/SALOMEDS_AttributeSequenceOfReal_i.cxx @@ -1,63 +1,87 @@ -using namespace std; -// File : SALOMEDS_AttributeSequenceOfReal_i.cxx -// Created : Fri Jul 05 17:28:29 2002 -// Author : Yves FRICAUD - -// Project : SALOME -// Module : SALOMEDS -// Copyright : Open CASCADE 2002 -// $Header$ - +// 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 +// 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 +// 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 +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// File : SALOMEDS_AttributeSequenceOfReal_i.cxx +// Author : Sergey RUIN +// Module : SALOME +// #include "SALOMEDS_AttributeSequenceOfReal_i.hxx" -#include "SALOMEDS_SObject_i.hxx" -#include +#include "SALOMEDS.hxx" +#include void SALOMEDS_AttributeSequenceOfReal_i::Assign(const SALOMEDS::DoubleSeq& other) { + SALOMEDS::Locker lock; CheckLocked(); - Handle(TColStd_HSequenceOfReal) CasCadeSeq = new TColStd_HSequenceOfReal; + std::vector CasCadeSeq; for (int i = 0; i < other.length(); i++) { - CasCadeSeq->Append(other[i]); + CasCadeSeq.push_back(other[i]); } - Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->Assign(CasCadeSeq); + dynamic_cast(_impl)->Assign(CasCadeSeq); } SALOMEDS::DoubleSeq* SALOMEDS_AttributeSequenceOfReal_i::CorbaSequence() { + SALOMEDS::Locker lock; SALOMEDS::DoubleSeq_var CorbaSeq = new SALOMEDS::DoubleSeq; - Handle(SALOMEDS_SequenceOfRealAttribute) CasCadeSeq = Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr); - CorbaSeq->length(CasCadeSeq->Length()); - for (int i = 0; i < CasCadeSeq->Length(); i++) { - CorbaSeq[i] = CasCadeSeq->Value(i+1);; + const std::vector& CasCadeSeq = dynamic_cast(_impl)->Array(); + int len = CasCadeSeq.size(); + CorbaSeq->length(len); + for (int i = 0; i < len; i++) { + CorbaSeq[i] = CasCadeSeq[i]; } return CorbaSeq._retn(); } void SALOMEDS_AttributeSequenceOfReal_i::Add(CORBA::Double value) { + SALOMEDS::Locker lock; CheckLocked(); - Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->Add(value); + dynamic_cast(_impl)->Add(value); } void SALOMEDS_AttributeSequenceOfReal_i::Remove(CORBA::Long index) { + SALOMEDS::Locker lock; CheckLocked(); - Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->Remove(index); + dynamic_cast(_impl)->Remove(index); } void SALOMEDS_AttributeSequenceOfReal_i::ChangeValue(CORBA::Long index, CORBA::Double value) { + SALOMEDS::Locker lock; CheckLocked(); - Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->ChangeValue(index, value); + dynamic_cast(_impl)->ChangeValue(index, value); } CORBA::Double SALOMEDS_AttributeSequenceOfReal_i::Value(CORBA::Short index) { - return Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->Value(index); + SALOMEDS::Locker lock; + return dynamic_cast(_impl)->Value(index); } CORBA::Long SALOMEDS_AttributeSequenceOfReal_i::Length() { - return Handle(SALOMEDS_SequenceOfRealAttribute)::DownCast(_myAttr)->Length(); + SALOMEDS::Locker lock; + return dynamic_cast(_impl)->Length(); } +