Salome HOME
refs #1330: basic implementation of the not zoomable polyline arrows
[modules/hydro.git] / src / HYDROData / HYDROData_Entity.cxx
index c5193f914c604f9f3737cf8519f036e3f4cc59e6..a8222673200ca513b032e57beb941ce7a15c1930 100644 (file)
@@ -334,7 +334,7 @@ void HYDROData_Entity::RemoveZLevel()
 
 void HYDROData_Entity::SetLabel( const TDF_Label& theLabel )
 {
-  myLab = theLabel;
+  myLab = theLabel; 
 }
 
 void HYDROData_Entity::SaveByteArray( const int   theTag, 
@@ -489,6 +489,7 @@ void HYDROData_Entity::SetReferenceObjects( const HYDROData_SequenceOfObjects& t
 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 );
@@ -578,12 +579,12 @@ void HYDROData_Entity::ClearReferenceObjects( const int theTag )
 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;
 }
 
@@ -655,7 +656,7 @@ QStringList HYDROData_Entity::dumpObjectCreation( MapOfTreatedObjects& theTreate
 
 QString HYDROData_Entity::getPyTypeID() const
 {
-  DEBTRACE("HYDROData_Entity::getPyTypeID " << GetKind());
+  //DEBTRACE("HYDROData_Entity::getPyTypeID " << GetKind());
   switch( GetKind() )
   {
     case KIND_IMAGE:             return "KIND_IMAGE";
@@ -821,3 +822,30 @@ double HYDROData_Entity::GetDouble( int theTag, double theDefValue ) const
 
   return anAttr->Get();
 }
+
+void HYDROData_Entity::SetInteger( int theTag, int theValue )
+{
+  Handle(TDataStd_Integer) anAttr;
+  TDF_Label aLabel = myLab.FindChild( theTag );
+  if( !aLabel.FindAttribute( TDataStd_Integer::GetID(), anAttr ) )
+    aLabel.AddAttribute( anAttr = new TDataStd_Integer() );
+  anAttr->Set( theValue );
+}
+
+int HYDROData_Entity::GetInteger( int theTag, int theDefValue ) const
+{
+  Handle(TDataStd_Integer) anAttr;
+  TDF_Label aLabel = myLab.FindChild( theTag );
+  if( !aLabel.FindAttribute( TDataStd_Integer::GetID(), anAttr ) )
+    return 0;
+
+  return anAttr->Get();
+}
+
+bool HYDROData_Entity::CompareLabels(const Handle(HYDROData_Entity)& theOtherObj) 
+{
+  if ( !theOtherObj.IsNull() )
+    return this->Label() == theOtherObj->Label();
+  return false;
+} 
+