X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_AttributeIntArray.cpp;h=c05a9e19c32a108725d0175bfd922768da0ca161;hb=c1d1f617a04aacf5f0d6246c1b8dea72dd2d6093;hp=b9cb85876640992a1a499fd2791519c6fd491087;hpb=4c2fb25615fc2e96957aeaee177251c40a434f4e;p=modules%2Fshaper.git diff --git a/src/Model/Model_AttributeIntArray.cpp b/src/Model/Model_AttributeIntArray.cpp index b9cb85876..c05a9e19c 100644 --- a/src/Model/Model_AttributeIntArray.cpp +++ b/src/Model/Model_AttributeIntArray.cpp @@ -34,7 +34,7 @@ void Model_AttributeIntArray::setSize(const int theSize) { if (myArray.IsNull() || !myArray->IsValid()) { // create array if it is not done yet if (theSize != 0) { // if size is zero, nothing to do (null array means there is no array) - myArray = TDataStd_IntegerArray::Set(myLab, 0, theSize); + myArray = TDataStd_IntegerArray::Set(myLab, 0, theSize - 1); owner()->data()->sendAttributeUpdated(this); } } else { // reset the old array @@ -71,6 +71,11 @@ int Model_AttributeIntArray::value(const int theIndex) Model_AttributeIntArray::Model_AttributeIntArray(TDF_Label& theLabel) { myLab = theLabel; + reinit(); +} + +void Model_AttributeIntArray::reinit() +{ // check the attribute could be already presented in this doc (after load document) myIsInitialized = myLab.FindAttribute(TDataStd_IntegerArray::GetID(), myArray) == Standard_True;