+
+void HYDROData_Entity::SetShape( int theTag, const TopoDS_Shape& theShape )
+{
+ TNaming_Builder aBuilder( myLab.FindChild( theTag ) );
+ aBuilder.Generated( theShape );
+ aBuilder.NamedShape()->SetID(TNaming_NamedShape::GetID());
+}
+
+TopoDS_Shape HYDROData_Entity::GetShape( int theTag ) const
+{
+ TDF_Label aShapeLabel = myLab.FindChild( theTag, false );
+ if ( !aShapeLabel.IsNull() )
+ {
+ Handle(TNaming_NamedShape) aNamedShape;
+ if ( aShapeLabel.FindAttribute( TNaming_NamedShape::GetID(), aNamedShape ) )
+ return aNamedShape->Get();
+ }
+ return TopoDS_Shape();
+}
+
+void HYDROData_Entity::SetDouble( int theTag, double theValue )
+{
+ Handle(TDataStd_Real) anAttr;
+ TDF_Label aLabel = myLab.FindChild( theTag );
+ if( !aLabel.FindAttribute( TDataStd_Real::GetID(), anAttr ) )
+ {
+ anAttr = new TDataStd_Real();
+ anAttr->SetID(TDataStd_Real::GetID());
+ aLabel.AddAttribute( anAttr );
+ }
+ anAttr->Set( theValue );
+}
+
+double HYDROData_Entity::GetDouble( int theTag, double theDefValue ) const
+{
+ Handle(TDataStd_Real) anAttr;
+ TDF_Label aLabel = myLab.FindChild( theTag );
+ if( !aLabel.FindAttribute( TDataStd_Real::GetID(), anAttr ) )
+ return theDefValue;
+
+ 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 ) )
+ {
+ anAttr = new TDataStd_Integer();
+ anAttr->SetID(TDataStd_Integer::GetID());
+ aLabel.AddAttribute(anAttr);
+ }
+ 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 theDefValue;
+
+ return anAttr->Get();
+}
+
+bool HYDROData_Entity::CompareLabels(const Handle(HYDROData_Entity)& theOtherObj)
+{
+ if ( !theOtherObj.IsNull() )
+ return this->Label() == theOtherObj->Label();
+ return false;
+}
+