void HYDROData_Entity::SetLabel( const TDF_Label& theLabel )
{
- myLab = theLabel;
+ myLab = theLabel;
}
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]);
}
}
Handle(HYDROData_Entity) HYDROData_Entity::GetReferenceObject( const int theTag,
const int theIndex ) const
{
+ //DEBTRACE("GetReferenceObject " << theTag << " " << theIndex);
Handle(HYDROData_Entity) aRes;
Handle(TDataStd_ReferenceList) aRefs = getReferenceList( theTag, false );
Handle(TDataStd_ReferenceList) HYDROData_Entity::getReferenceList( const int theTag,
const bool theIsCreate ) const
{
+ //DEBTRACE("getReferenceList " << theTag << " " << theIsCreate);
TDF_Label aLabel = theTag == 0 ? myLab : myLab.FindChild( theTag );
Handle(TDataStd_ReferenceList) aRefs;
if ( !aLabel.FindAttribute( TDataStd_ReferenceList::GetID(), aRefs ) && theIsCreate )
aRefs = TDataStd_ReferenceList::Set( aLabel );
-
return aRefs;
}
return anAttr->Get();
}
+
+bool HYDROData_Entity::CompareLabels(const Handle(HYDROData_Entity)& theOtherObj)
+{
+ if ( !theOtherObj.IsNull() )
+ return this->Label() == theOtherObj->Label();
+ return false;
+}
+