]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
quick optimization patch (bytearray for images)
authorisn <isn@opencascade.com>
Thu, 12 Oct 2017 12:33:30 +0000 (15:33 +0300)
committerisn <isn@opencascade.com>
Thu, 12 Oct 2017 12:33:30 +0000 (15:33 +0300)
src/HYDROData/HYDROData_Entity.cxx

index a8222673200ca513b032e57beb941ce7a15c1930..62a7095e0f181f97a07fb36c24cf8628555d0ea5 100644 (file)
@@ -352,15 +352,19 @@ void HYDROData_Entity::SaveByteArray( const int   theTag,
   if (!aLab.FindAttribute(TDataStd_ByteArray::GetID(), aData)) {
     aData = TDataStd_ByteArray::Set(aLab, 1, theLen);
   }
+  Standard_Byte* Byte0 = &(aData->InternalArray()->ChangeArray1().ChangeFirst());
+  memcpy(Byte0, theData, theLen * sizeof (char));
   // copy bytes one by one
   if (aData->Length() != theLen) {
     Handle(TColStd_HArray1OfByte) aNewData = new TColStd_HArray1OfByte(1, theLen);
     for(int a = 0; a < theLen; a++)
       aNewData->SetValue(a + 1, theData[a]);
     aData->ChangeArray(aNewData);
-  } else {
-    for(int a = 0; a < theLen; a++)
-      aData->SetValue(a + 1, theData[a]);
+  } 
+  else
+  {
+  //  for(int a = 0; a < theLen; a++)
+  //    aData->SetValue(a + 1, theData[a]);
   }
 }