+//=============================================================================
+/*!
+ * SetByteArray
+ */
+//=============================================================================
+void GEOM_Function::SetByteArray (int thePosition,
+ const Handle(TColStd_HArray1OfByte)& theArray)
+{
+ _isDone = false;
+ if(thePosition <= 0) return;
+ TDF_Label anArgLabel = ARGUMENT(thePosition);
+ Handle(TDataStd_ByteArray) anAttr =
+ TDataStd_ByteArray::Set(anArgLabel, theArray->Lower(), theArray->Upper());
+ anAttr->ChangeArray(theArray);
+ _isDone = true;
+}
+
+//=============================================================================
+/*!
+ * GetByteArray
+ */
+//=============================================================================
+Handle(TColStd_HArray1OfByte) GEOM_Function::GetByteArray(int thePosition)
+{
+ _isDone = false;
+ if(thePosition <= 0) return 0;
+ Handle(TDataStd_ByteArray) aByteArray;
+ TDF_Label anArgLabel = ARGUMENT(thePosition);
+ if(!anArgLabel.FindAttribute(TDataStd_ByteArray::GetID(), aByteArray)) return 0;
+
+ _isDone = true;
+ return aByteArray->InternalArray();
+}
+
+//=============================================================================
+/*!
+ * SetBooleanArray
+ */
+//=============================================================================
+void GEOM_Function::SetBooleanArray (int thePosition,
+ const Handle(TColStd_HArray1OfByte)& theArray)
+{
+ _isDone = false;
+ if(thePosition <= 0) return;
+ TDF_Label anArgLabel = ARGUMENT(thePosition);
+ Handle(TDataStd_BooleanArray) anAttr =
+ TDataStd_BooleanArray::Set(anArgLabel, theArray->Lower(), theArray->Upper());
+ anAttr->SetInternalArray(theArray);
+ _isDone = true;
+}
+
+//=============================================================================
+/*!
+ * GetBooleanArray
+ */
+//=============================================================================
+Handle(TColStd_HArray1OfByte) GEOM_Function::GetBooleanArray(int thePosition)
+{
+ _isDone = false;
+ if(thePosition <= 0) return 0;
+ Handle(TDataStd_BooleanArray) aBooleanArray;
+ TDF_Label anArgLabel = ARGUMENT(thePosition);
+ if(!anArgLabel.FindAttribute(TDataStd_BooleanArray::GetID(), aBooleanArray)) return 0;
+
+ _isDone = true;
+ return aBooleanArray->InternalArray();
+}
+