- TDF_Label aLab = theTag == 0 ? myLab : myLab.FindChild(theTag);
- // array is empty, remove the attribute
- if (theLen <= 0) {
- aLab.ForgetAttribute(TDataStd_ByteArray::GetID());
- return;
- }
- // store data of image in byte array
- Handle(TDataStd_ByteArray) aData;
- if (!aLab.FindAttribute(TDataStd_ByteArray::GetID(), aData)) {
- aData = TDataStd_ByteArray::Set(aLab, 1, theLen);
- }
- // 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]);
+ Handle(HYDROData_DummyObject3D) anObject;
+
+ TDF_Label aLabel = myLab.FindChild( DataTag_Object3D, false );
+ if ( !aLabel.IsNull() )
+ {
+ TDF_Label aChildLabel = aLabel.FindChild( 0, false );
+ if ( !aChildLabel.IsNull() )
+ {
+ anObject = Handle(HYDROData_DummyObject3D)::DownCast(
+ HYDROData_Iterator::Object( aChildLabel ) );
+ }