+TopoDS_Shape HYDROData_IPolyline::GetShape() const
+{
+ return HYDROData_Entity::GetShape( DataTag_PolylineShape );
+}
+
+void HYDROData_IPolyline::SetShape( const TopoDS_Shape& theShape )
+{
+ HYDROData_Entity::SetShape( DataTag_PolylineShape, theShape );
+}
+
+void HYDROData_IPolyline::RemovePolylineShape()
+{
+ SetShape( TopoDS_Shape() );
+}
+
+void HYDROData_IPolyline::getSectionsLists( Handle(TDataStd_ExtStringList)& theNamesList,
+ Handle(TDataStd_IntegerList)& theTypesList,
+ Handle(TDataStd_BooleanList)& theClosuresList,
+ const bool theIsCreate ) const
+{
+ theNamesList.Nullify();
+ theTypesList.Nullify();
+ theClosuresList.Nullify();
+
+ TDF_Label aSectLabel = myLab.FindChild( DataTag_Sections, theIsCreate );
+ if ( aSectLabel.IsNull() )
+ return;
+
+ if ( !aSectLabel.FindAttribute( TDataStd_ExtStringList::GetID(), theNamesList ) && theIsCreate )
+ theNamesList = TDataStd_ExtStringList::Set( aSectLabel );
+
+ if ( !aSectLabel.FindAttribute( TDataStd_IntegerList::GetID(), theTypesList ) && theIsCreate )
+ theTypesList = TDataStd_IntegerList::Set( aSectLabel );
+
+ if ( !aSectLabel.FindAttribute( TDataStd_BooleanList::GetID(), theClosuresList ) && theIsCreate )
+ theClosuresList = TDataStd_BooleanList::Set( aSectLabel );
+}
+
+void HYDROData_IPolyline::removeSectionsLists()
+{
+ TDF_Label aSectsLabel = myLab.FindChild( DataTag_Sections, false );
+ if ( !aSectsLabel.IsNull() )
+ aSectsLabel.ForgetAllAttributes();
+}
+